Repository: Sinova/Collisions Branch: master Commit: f59299c1a333 Files: 69 Total size: 7.4 MB Directory structure: gitextract_owam7utj/ ├── .esdoc.json ├── .gitignore ├── LICENSE ├── README.md ├── collisions.d.ts ├── demo/ │ ├── examples/ │ │ ├── Stress.mjs │ │ └── Tank.mjs │ └── index.mjs ├── docs/ │ ├── ast/ │ │ └── source/ │ │ ├── .external-ecmascript.js.json │ │ ├── Collisions.mjs.json │ │ └── modules/ │ │ ├── BVH.mjs.json │ │ ├── BVHBranch.mjs.json │ │ ├── Body.mjs.json │ │ ├── Circle.mjs.json │ │ ├── Point.mjs.json │ │ ├── Polygon.mjs.json │ │ ├── Result.mjs.json │ │ └── SAT.mjs.json │ ├── class/ │ │ └── src/ │ │ ├── Collisions.mjs~Collisions.html │ │ └── modules/ │ │ ├── Body.mjs~Body.html │ │ ├── Circle.mjs~Circle.html │ │ ├── Point.mjs~Point.html │ │ ├── Polygon.mjs~Polygon.html │ │ └── Result.mjs~Result.html │ ├── coverage.json │ ├── css/ │ │ ├── github.css │ │ ├── identifiers.css │ │ ├── manual.css │ │ ├── prettify-tomorrow.css │ │ ├── search.css │ │ ├── source.css │ │ ├── style.css │ │ └── test.css │ ├── demo/ │ │ ├── index.html │ │ └── index.js │ ├── file/ │ │ └── src/ │ │ ├── Collisions.mjs.html │ │ └── modules/ │ │ ├── BVH.mjs.html │ │ ├── BVHBranch.mjs.html │ │ ├── Body.mjs.html │ │ ├── Circle.mjs.html │ │ ├── Point.mjs.html │ │ ├── Polygon.mjs.html │ │ ├── Result.mjs.html │ │ └── SAT.mjs.html │ ├── identifiers.html │ ├── index.html │ ├── index.json │ ├── script/ │ │ ├── inherited-summary.js │ │ ├── inner-link.js │ │ ├── manual.js │ │ ├── patch-for-local.js │ │ ├── prettify/ │ │ │ ├── Apache-License-2.0.txt │ │ │ └── prettify.js │ │ ├── pretty-print.js │ │ ├── search.js │ │ ├── search_index.js │ │ └── test-summary.js │ └── source.html ├── package.json ├── src/ │ ├── Collisions.mjs │ └── modules/ │ ├── BVH.mjs │ ├── BVHBranch.mjs │ ├── Body.mjs │ ├── Circle.mjs │ ├── Point.mjs │ ├── Polygon.mjs │ ├── Result.mjs │ └── SAT.mjs └── webpack.config.js ================================================ FILE CONTENTS ================================================ ================================================ FILE: .esdoc.json ================================================ { "source" : "./src", "destination" : "./docs", "includes" : ["\\.js$", "\\.mjs$"], "plugins" : [ { "name" : "esdoc-standard-plugin", "option" : { "accessor": { "access" : ["public", "protected"], "autoPrivate" : true }, "lint": {"enable": false}, "typeInference": {"enable": false} } } ] } ================================================ FILE: .gitignore ================================================ node_modules ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2017 Sinova Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ Collisions =============================================================================== **Collisions** is a JavaScript library for quickly and accurately detecting collisions between Polygons, Circles, and Points. It combines the efficiency of a [Bounding Volume Hierarchy](https://en.wikipedia.org/wiki/Bounding_volume_hierarchy) (BVH) for broad-phase searching and the accuracy of the [Separating Axis Theorem](https://en.wikipedia.org/wiki/Separating_axis_theorem) (SAT) for narrow-phase collision testing. * [Installation](#anchor-installation) * [Documentation](#anchor-documentation) * [Demos](#anchor-demos) * [Usage](#anchor-usage) * [Getting Started](#anchor-getting-started) 1. [Creating a Collision System](#anchor-step-1) 2. [Creating, Inserting, Updating, and Removing Bodies](#anchor-step-2) 3. [Updating the Collision System](#anchor-step-3) 4. [Testing for Collisions](#anchor-step-4) 5. [Getting Detailed Collision Information](#anchor-step-5) 6. [Negating Overlap](#anchor-step-6) * [Lines](#anchor-lines) * [Concave Polygons](#anchor-concave-polygons) * [Rendering](#anchor-rendering) * [Bounding Volume Padding](#anchor-bounding-volume-padding) * [Only using SAT](#anchor-only-using-sat) * [FAQ](#anchor-faq) Installation =============================================================================== ```bash npm install collisions ``` > **Note:** This library uses the native ECMAScript Module syntax. Most environments support native modules, but the following exceptions apply: > > * Node.js (9.2.0) requires the [--experimental-modules](https://nodejs.org/api/esm.html) flag > * Firefox (54) requires the [dom.moduleScripts.enabled](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#Browser_compatibility) setting > > Bundling solutions such as [Webpack](https://webpack.js.org/) or [Rollup.js](https://rollupjs.org/) make native modules compatible with all environments. Documentation =============================================================================== View the [documentation](https://sinova.github.com/Collisions/) (this README is also there). Demos =============================================================================== * [Tank](https://sinova.github.com/Collisions/demo/) * [Stress Test](https://sinova.github.com/Collisions/demo/?stress) Usage =============================================================================== ```JavaScript import Collisions from 'collisions'; // Create the collision system const system = new Collisions(); // Create a Result object for collecting information about the collisions const result = system.createResult(); // Create the player (represented by a Circle) const player = system.createCircle(100, 100, 10); // Create some walls (represented by Polygons) const wall1 = system.createPolygon(400, 500, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 1.7); const wall2 = system.createPolygon(200, 100, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 2.2); const wall3 = system.createPolygon(400, 50, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 0.7); // Update the collision system system.update(); // Get any potential collisions (this quickly rules out walls that have no chance of colliding with the player) const potentials = player.potentials(); // Loop through the potential wall collisions for(const wall of potentials) { // Test if the player collides with the wall if(player.collides(wall, result)) { // Push the player out of the wall player.x -= result.overlap * result.overlap_x; player.y -= result.overlap * result.overlap_y; } } ``` Getting Started =============================================================================== ## 1. Creating a Collision System **Collisions** provides functions for performing both broad-phase and narrow-phase collision tests. In order to take full advantage of both phases, bodies need to be tracked within a collision system. Call the Collisions constructor to create a collision system. ```JavaScript import Collisions from 'collisions'; const system = new Collisions(); ``` ## 2. Creating, Inserting, Updating, and Removing Bodies **Collisions** supports the following body types: * **Circle:** A shape with infinite sides equidistant from a single point * **Polygon:** A shape made up of line segments * **Point:** A single coordinate To use them, import the desired body class, call its constructor, and insert it into the collision system using `insert()`. ```JavaScript import {Collisions, Circle, Polygon, Point} from 'collisions'; const system = new Collisions(); const circle = new Circle(100, 100, 10); const polygon = new Polygon(50, 50, [[0, 0], [20, 20], [-10, 10]]); const line = new Polygon(200, 5, [[-30, 0], [10, 20]]); const point = new Point(10, 10); system.insert(circle) system.insert(polygon, line, point); ``` Collision systems expose several convenience functions for creating bodies and inserting them into the system in one step. This also avoids having to import the different body classes. ```JavaScript import Collisions from 'collisions'; const system = new Collisions(); const circle = system.createCircle(100, 100, 10); const polygon = system.createPolygon(50, 50, [[0, 0], [20, 20], [-10, 10]]); const line = system.createPolygon(200, 5, [[-30, 0], [10, 20]]); const point = system.createPoint(10, 10); ``` All bodies have `x` and `y` properties that can be manipulated. Additionally, `Circle` bodies have a `scale` property that can be used to scale their overall size. `Polygon` bodies have `scale_x` and `scale_y` properties to scale their points along a particular axis and an `angle` property to rotate their points around their current position (using radians). ```JavaScript circle.x = 20; circle.y = 30; circle.scale = 1.5; polygon.x = 40; polygon.y = 100; polygon.scale_x = 1.2; polygon.scale_y = 3.4; polygon.angle = 1.2; ``` And, of course, bodies can be removed when they are no longer needed. ```JavaScript system.remove(polygon, point); circle.remove(); ``` ## 3. Updating the Collision System Collision systems need to be updated when the bodies within them change. This includes when bodies are inserted, removed, or when their properties change (e.g. position, angle, scaling, etc.). Updating a collision system is done by calling `update()` and should typically occur once per frame. ```JavaScript system.update(); ``` The optimal time for updating a collision system is **after** its bodies have changed and **before** collisions are tested. For example, a game loop might use the following order of events: ```JavaScript function gameLoop() { handleInput(); processGameLogic(); system.update(); handleCollisions(); render(); } ``` ## 4. Testing for Collisions When testing for collisions on a body, it is generally recommended that a broad-phase search be performed first by calling `potentials()` in order to quickly rule out bodies that are too far away to collide. **Collisions** uses a [Bounding Volume Hierarchy](https://en.wikipedia.org/wiki/Bounding_volume_hierarchy) (BVH) for its broad-phase search. Calling `potentials()` on a body traverses the BVH and builds a list of potential collision candidates. ```JavaScript const potentials = polygon.potentials(); ``` Once a list of potential collisions is acquired, loop through them and perform a narrow-phase collision test using `collides()`. **Collisions** uses the [Separating Axis Theorem](https://en.wikipedia.org/wiki/Separating_axis_theorem) (SAT) for its narrow-phase collision tests. ```JavaScript const potentials = polygon.potentials(); for(const body of potentials) { if(polygon.collides(body)) { console.log('Collision detected!'); } } ``` It is also possible to skip the broad-phase search entirely and call `collides()` directly on two bodies. > **Note:** Skipping the broad-phase search is not recommended. When testing for collisions against large numbers of bodies, performing a broad-phase search using a BVH is *much* more efficient. ```JavaScript if(polygon.collides(line)) { console.log('Collision detected!'); } ``` ## 5. Getting Detailed Collision Information There is often a need for detailed information about a collision in order to react to it appropriately. This information is stored using a `Result` object. `Result` objects have several properties set on them when a collision occurs, all of which are described in the [documentation](https://sinova.github.com/Collisions/). For convenience, there are several ways to create a `Result` object. `Result` objects do not belong to any particular collision system, so any of the following methods for creating one can be used interchangeably. This also means the same `Result` object can be used for collisions across multiple systems. > **Note:** It is highly recommended that `Result` objects be recycled when performing multiple collision tests in order to save memory. The following example creates multiple `Result` objects strictly as a demonstration. ```JavaScript import {Collisions, Result, Polygon} from 'collisions'; const system = new Collisions(); const my_polygon = new Polygon(100, 100, 10); const result1 = new Result(); const result2 = Collisions.createResult(); const result3 = system.createResult(); const result4 = Polygon.createResult(); const result5 = my_polygon.createResult(); ``` To use a `Result` object, pass it into `collides()`. If a collision occurs, it will be populated with information about the collision. Take note in the following example that the same `Result` object is being reused each iteration. ```JavaScript const result = system.createResult(); const potentials = point.potentials(); for(const body of potentials) { if(point.collides(body, result)) { console.log(result); } } ``` ## 6. Negating Overlap A common use-case in collision detection is negating overlap when a collision occurs (such as when a player hits a wall). This can be done using the collision information in a `Result` object (see [Getting Detailed Collision Information](#anchor-getting-detailed-collision-information)). The three most useful properties on a `Result` object are `overlap`, `overlap_x`, and `overlap_y`. Together, these values describe how much and in what direction the source body is overlapping the target body. More specifically, `overlap_x` and `overlap_y` describe the direction vector, and `overlap` describes the magnitude of that vector. These values can be used to "push" one body out of another using the minimum distance required. More simply, subtracting this vector from the source body's position will cause the bodies to no longer collide. Here's an example: ```JavaScript if(player.collides(wall, result)) { player.x -= result.overlap * result.overlap_x; player.y -= result.overlap * result.overlap_y; } ``` Lines =============================================================================== Creating a line is simply a matter of creating a single-sided polygon (i.e. a polygon with only two coordinate pairs). ```JavaScript const line = new Polygon(200, 5, [[-30, 0], [10, 20]]); ``` Concave Polygons =============================================================================== **Collisions** uses the [Separating Axis Theorem](https://en.wikipedia.org/wiki/Separating_axis_theorem) (SAT) for its narrow-phase collision tests. One caveat to SAT is that it only works properly on convex bodies. However, concave polygons can be "faked" by using a series of [Lines](#anchor-lines). Keep in mind that a polygon drawn using [Lines](#anchor-lines) is "hollow". Handling true concave polygons requires breaking them down into their component convex polygons (Convex Decomposition) and testing them for collisions individually. There are plans to integrate this functionality into the library in the future, but for now, check out [poly-decomp.js](https://github.com/schteppe/poly-decomp.js). Rendering =============================================================================== For debugging, it is often useful to be able to visualize the collision bodies. All of the bodies in a Collision system can be drawn to a `` element by calling `draw()` and passing in the canvas' 2D context. ```JavaScript const canvas = document.createElement('canvas'); const context = canvas.getContext('2d'); // ... context.strokeStyle = '#FFFFFF'; context.beginPath(); system.draw(context); context.stroke(); ``` Bodies can be individually drawn as well. ```JavaScript context.strokeStyle = '#FFFFFF'; context.beginPath(); polygon.draw(context); circle.draw(context); context.stroke(); ``` The BVH can also be drawn to help test [Bounding Volume Padding](#anchor-bounding-volume-padding). ```JavaScript context.strokeStyle = '#FFFFFF'; context.beginPath(); system.drawBVH(context); context.stroke(); ``` Bounding Volume Padding =============================================================================== When bodies move around within a collision system, the internal BVH has to remove and reinsert the body in order to determine where it belongs in the hierarchy. This is one of the most costly operations in maintaining a BVH. In general, most projects will never see a performance issue from this unless they are dealing with thousands of moving bodies at once. In these cases, it can *sometimes* be beneficial to "pad" the bounding volumes of each body so that the BVH doesn't need to remove and reinsert bodies that haven't changed position too much. In other words, padding the bounding volume allows "breathing room" for the body within it to move around without being flagged for an update. The tradeoff is that the slightly larger bounding volumes can trigger more false-positives during the broad-phase `potentials()` search. While the narrow phase will ultimately rule these out using Axis Aligned Bounding Box tests, putting too much padding on bodies that are crowded can lead to too many false positives and a diminishing return in performance. It is up to the developer to determine how much padding each body will need based on how much it can move within a single frame and how crowded the bodies in the system are. Padding can be added to a body when instantiating it (see the [documentation](https://sinova.github.com/Collisions/) for each body) or at any time by changing its `padding` property. ```JavaScript const padding = 5; const circle = new Circle(100, 100, 10, 1, padding); // ... circle.padding = 10; ``` Only using SAT =============================================================================== Some projects may only have a need to perform SAT collision tests without broad-phase searching. This can be achieved by avoiding collision systems altogether and only using the `collides()` function. ```JavaScript import {Circle, Polygon, Result} from 'collisions'; const circle = new Circle(45, 45, 20); const polygon = new Polygon(50, 50, [[0, 0], [20, 20], [-10, 10]]); const result = new Result(); if(circle.collides(polygon, result)) { console.log(result); } ``` FAQ =============================================================================== ## Why shouldn't I just use a physics engine? Projects requiring physics are encouraged to use one of the several physics engines out there (e.g. [Matter.js](https://github.com/liabru/matter-js), [Planck.js](https://github.com/shakiba/planck.js)). However, many projects end up using physics engines solely for collision detection, and developers often find themselves having to work around some of the assumptions that these engines make (gravity, velocity, friction, etc.). **Collisions** was created to provide robust collision detection and nothing more. In fact, a physics engine could easily be written with **Collisions** at its core. ## Why does the source code seem to have quite a bit of copy/paste? **Collisions** was written with performance as its primary focus. Conscious decisions were made to sacrifice readability in order to avoid the overhead of unnecessary function calls or property lookups. ## Sometimes bodies can "squeeze" between two other bodies. What's going on? This isn't caused by faulty collisions, but rather how a project handles its collision responses. There are several ways to go about responding to collisions, the most common of which is to loop through all bodies, find their potential collisions, and negate any overlaps that are found one at a time. Since the overlaps are negated one at a time, the last negation takes precedence and can cause the body to be pushed into another body. One workaround is to resolve each collision, update the collision system, and repeat until no collisions are found. Keep in mind that this can potentially lead to infinite loops if the two colliding bodies equally negate each other. Another solution is to collect all overlaps and combine them into a single resultant vector and then push the body out, but this can get rather complicated. There is no perfect solution. How collisions are handled depends on the project. ================================================ FILE: collisions.d.ts ================================================ /** * The base class for bodies used to detect collisions * @export * @abstract * @class Body */ export abstract class Body { x: number; y: number; padding: number; /** * Determines if the body is colliding with another body * @param {Circle|Polygon|Point} target The target body to test against * @param {Result} [result = null] A Result object on which to store information about the collision * @param {boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic) * @returns {boolean} */ collides(target: Body, result?: Result, aabb?: boolean): boolean; /** * Returns a list of potential collisions * @returns {Body[]} */ potentials(): Body[]; /** * Removes the body from its current collision system */ remove(): void; /** * Draws the bodies within the system to a CanvasRenderingContext2D's current path * @param {CanvasRenderingContext2D} context */ draw(context: CanvasRenderingContext2D): void; } /** * A circle used to detect collisions * @export * @class Circle * @extends {Body} */ export class Circle extends Body { /** * @constructor * @param {number} [x = 0] The starting X coordinate * @param {number} [y = 0] The starting Y coordinate * @param {number} [radius = 0] The radius * @param {number} [scale = 1] The scale * @param {number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions */ constructor(x?: number, y?: number, radius?: number, scale?: number, padding?: number); radius: number; scale: number; } /** * A polygon used to detect collisions * @export * @class Polygon * @extends {Body} */ export class Polygon extends Body { /** * @constructor * @param {number} [x = 0] The starting X coordinate * @param {number} [y = 0] The starting Y coordinate * @param {number[][]} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...] * @param {number} [angle = 0] The starting rotation in radians * @param {number} [scale_x = 1] The starting scale along the X axis * @param {number} [scale_y = 1] The starting scale long the Y axis * @param {number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions */ constructor(x?: number, y?: number, points?: number[][], angle?: number, scale_x?: number, scale_y?: number, padding?: number); angle: number; scale_x: number; scale_y: number; } /** * A point used to detect collisions * @export * @class Point * @extends {Body} */ export class Point extends Body { constructor(x?: number, y?: number, padding?: number); } /** * An object used to collect the detailed results of a collision test * * > **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory * @export * @class Result */ export class Result { collision: boolean; a: Body; b: Body; a_in_b: boolean; b_in_a: boolean; overlap: number; overlap_x: number; overlap_y: number; } /** * A collision system used to track bodies in order to improve collision detection performance * @export * @class Collisions */ export class Collisions { /** * Creates a {@link Circle} and inserts it into the collision system * @param {number} [x = 0] The starting X coordinate * @param {number} [y = 0] The starting Y coordinate * @param {number} [radius = 0] The radius * @param {number} [scale = 1] The scale * @param {number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions * @returns {Circle} */ createCircle(x?: number, y?: number, radius?: number, scale?: number, padding?: number): Circle; /** * Creates a {@link Polygon} and inserts it into the collision system * @param {number} [x = 0] The starting X coordinate * @param {number} [y = 0] The starting Y coordinate * @param {number[][]} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...] * @param {number} [angle = 0] The starting rotation in radians * @param {number} [scale_x = 1] The starting scale along the X axis * @param {number} [scale_y = 1] The starting scale long the Y axis * @param {number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions * @returns {Polygon} */ createPolygon(x?: number, y?: number, points?: number[][], angle?: number, scale_x?: number, scale_y?: number, padding?: number): Polygon; /** * Creates a {@link Point} and inserts it into the collision system * @param {number} [x = 0] The starting X coordinate * @param {number} [y = 0] The starting Y coordinate * @param {number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions * @returns {Point} */ createPoint(x?: number, y?: number, padding?: number): Point; /** * Creates a {@link Result} used to collect the detailed results of a collision test * @returns {Result} */ createResult(): Result; /** * Inserts bodies into the collision system * @param {Body} bodies * @returns {Collisions} */ insert(bodies: Body): Collisions; /** * Removes bodies from the collision system * @param {Body} bodies * @returns {Collisions} */ remove(bodies: Body): Collisions; /** * Updates the collision system. This should be called before any collisions are tested. * @returns {Collisions} */ update(): Collisions; /** * Returns a list of potential collisions for a body * @param {Body} [body] * @returns {Body[]} */ potentials(body?: Body): Body[]; /** * Determines if two bodies are colliding * @param {Body} source * @param {Body} target * @param {Result} [result] * @param {boolean} [aabb] * @returns {boolean} */ collides(source: Body, target: Body, result?: Result, aabb?: boolean): boolean; /** * Draws the bodies within the system to a CanvasRenderingContext2D's current path * @param {CanvasRenderingContext2D} context */ draw(context: CanvasRenderingContext2D): void; /** * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies. * @param {CanvasRenderingContext2D} context */ drawBVH(context: CanvasRenderingContext2D): void; } ================================================ FILE: demo/examples/Stress.mjs ================================================ import Collisions from '../../src/Collisions.mjs'; const result = Collisions.createResult(); const width = 800; const height = 600; const count = 500 const speed = 1; const size = 5; let frame = 0; let fps_total = 0; export default class Stress { constructor() { this.element = document.createElement('div'); this.canvas = document.createElement('canvas'); this.context = this.canvas.getContext('2d'); this.collisions = new Collisions(); this.bodies = []; this.polygons = 0; this.circles = 0; this.canvas.width = width; this.canvas.height = height; this.context.font = '24px Arial'; // World bounds this.collisions.createPolygon(0, 0, [[0, 0], [width, 0]]); this.collisions.createPolygon(0, 0, [[width, 0], [width, height]]); this.collisions.createPolygon(0, 0, [[width, height], [0, height]]); this.collisions.createPolygon(0, 0, [[0, height], [0, 0]]); for(let i = 0; i < count; ++i) { this.createShape(!random(0, 49)); } this.element.innerHTML = `
Total: ${count}
Polygons: ${this.polygons}
Circles: ${this.circles}
`; this.bvh_checkbox = this.element.querySelector('#bvh'); this.element.appendChild(this.canvas); const self = this; let time = performance.now(); this.frame = requestAnimationFrame(function frame() { const current_time = performance.now(); self.update(1000 / (current_time - time)); self.frame = requestAnimationFrame(frame); time = current_time; }); } update(fps) { this.collisions.update(); ++frame; fps_total += fps; const average_fps = Math.round(fps_total / frame); if(frame > 100) { frame = 1; fps_total = average_fps; } for(let i = 0; i < this.bodies.length; ++i) { const body = this.bodies[i]; body.x += body.direction_x * speed; body.y += body.direction_y * speed; const potentials = body.potentials(); for(const body2 of potentials) { if(body.collides(body2, result)) { body.x -= result.overlap * result.overlap_x; body.y -= result.overlap * result.overlap_y; let dot = body.direction_x * result.overlap_y + body.direction_y * -result.overlap_x; body.direction_x = 2 * dot * result.overlap_y - body.direction_x; body.direction_y = 2 * dot * -result.overlap_x - body.direction_y; dot = body2.direction_x * result.overlap_y + body2.direction_y * -result.overlap_x; body2.direction_x = 2 * dot * result.overlap_y - body2.direction_x; body2.direction_y = 2 * dot * -result.overlap_x - body2.direction_y; } } } // Clear the canvas this.context.fillStyle = '#000000'; this.context.fillRect(0, 0, width, height); // Render the bodies this.context.strokeStyle = '#FFFFFF'; this.context.beginPath(); this.collisions.draw(this.context); this.context.stroke(); // Render the BVH if(this.bvh_checkbox.checked) { this.context.strokeStyle = '#00FF00'; this.context.beginPath(); this.collisions.drawBVH(this.context); this.context.stroke(); } // Render the FPS this.context.fillStyle = '#FFCC00'; this.context.fillText(average_fps, 10, 30); } createShape(large) { const min_size = size * 0.75 * (large ? 3 : 1); const max_size = size * 1.25 * (large ? 5 : 1); const x = random(0, width); const y = random(0, height); const direction = random(0, 360) * Math.PI / 180; let body; if(random(0, 2)) { body = this.collisions.createCircle(x, y, random(min_size, max_size)); ++this.circles; } else { body = this.collisions.createPolygon(x, y, [ [-random(min_size, max_size), -random(min_size, max_size)], [random(min_size, max_size), -random(min_size, max_size)], [random(min_size, max_size), random(min_size, max_size)], [-random(min_size, max_size), random(3, size)], ], random(0, 360) * Math.PI / 180); ++this.polygons; } body.direction_x = Math.cos(direction); body.direction_y = Math.sin(direction); this.bodies.push(body); } } function random(min, max) { return Math.floor(Math.random() * max) + min; } ================================================ FILE: demo/examples/Tank.mjs ================================================ import Collisions from '../../src/Collisions.mjs'; const width = 800; const height = 600; const result = Collisions.createResult(); export default class Tank { constructor() { const collisions = new Collisions(); this.element = document.createElement('div'); this.canvas = document.createElement('canvas'); this.context = this.canvas.getContext('2d'); this.collisions = collisions; this.bodies = []; this.canvas.width = width; this.canvas.height = height; this.player = null; this.up = false; this.down = false; this.left = false; this.right = false; this.element.innerHTML = `
W, S - Accelerate/Decelerate
A, D - Turn
`; const updateKeys = (e) => { const keydown = e.type === 'keydown'; const key = e.key.toLowerCase(); key === 'w' && (this.up = keydown); key === 's' && (this.down = keydown); key === 'a' && (this.left = keydown); key === 'd' && (this.right = keydown); }; document.addEventListener('keydown', updateKeys); document.addEventListener('keyup', updateKeys); this.bvh_checkbox = this.element.querySelector('#bvh'); this.element.appendChild(this.canvas); this.createPlayer(400, 300); this.createMap(); const frame = () => { this.update(); requestAnimationFrame(frame); }; frame(); } update() { this.handleInput(); this.processGameLogic(); this.handleCollisions(); this.render(); } handleInput() { this.up && (this.player.velocity += 0.1); this.down && (this.player.velocity -= 0.1); this.left && (this.player.angle -= 0.04); this.right && (this.player.angle += 0.04); } processGameLogic() { const x = Math.cos(this.player.angle); const y = Math.sin(this.player.angle); if(this.player.velocity > 0) { this.player.velocity -= 0.05; if(this.player.velocity > 3) { this.player.velocity = 3; } } else if(this.player.velocity < 0) { this.player.velocity += 0.05; if(this.player.velocity < -2) { this.player.velocity = -2; } } if(!Math.round(this.player.velocity * 100)) { this.player.velocity = 0; } if(this.player.velocity) { this.player.x += x * this.player.velocity; this.player.y += y * this.player.velocity; } } handleCollisions() { this.collisions.update(); const potentials = this.player.potentials(); // Negate any collisions for(const body of potentials) { if(this.player.collides(body, result)) { this.player.x -= result.overlap * result.overlap_x; this.player.y -= result.overlap * result.overlap_y; this.player.velocity *= 0.9 } } } render() { this.context.fillStyle = '#000000'; this.context.fillRect(0, 0, 800, 600); this.context.strokeStyle = '#FFFFFF'; this.context.beginPath(); this.collisions.draw(this.context); this.context.stroke(); if(this.bvh_checkbox.checked) { this.context.strokeStyle = '#00FF00'; this.context.beginPath(); this.collisions.drawBVH(this.context); this.context.stroke(); } } createPlayer(x, y) { const size = 15; this.player = this.collisions.createPolygon(x, y, [ [-20, -10], [20, -10], [20, 10], [-20, 10], ], 0.2); this.player.velocity = 0; } createMap() { // World bounds this.collisions.createPolygon(0, 0, [[0, 0], [width, 0]]); this.collisions.createPolygon(0, 0, [[width, 0], [width, height]]); this.collisions.createPolygon(0, 0, [[width, height], [0, height]]); this.collisions.createPolygon(0, 0, [[0, height], [0, 0]]); // Factory this.collisions.createPolygon(100, 100, [[-50, -50], [50, -50], [50, 50], [-50, 50],], 0.4); this.collisions.createPolygon(190, 105, [[-20, -20], [20, -20], [20, 20], [-20, 20],], 0.4); this.collisions.createCircle(170, 140, 8); this.collisions.createCircle(185, 155, 8); this.collisions.createCircle(165, 165, 8); this.collisions.createCircle(145, 165, 8); // Airstrip this.collisions.createPolygon(230, 50, [[-150, -30], [150, -30], [150, 30], [-150, 30],], 0.4); // HQ this.collisions.createPolygon(100, 500, [[-40, -50], [40, -50], [50, 50], [-50, 50],], 0.2); this.collisions.createCircle(180, 490, 20); this.collisions.createCircle(175, 540, 20); // Barracks this.collisions.createPolygon(400, 500, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 1.7); this.collisions.createPolygon(350, 494, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 1.7); // Mountains this.collisions.createPolygon(750, 0, [[0, 0], [-20, 100]]); this.collisions.createPolygon(750, 0, [[-20, 100], [30, 250]]); this.collisions.createPolygon(750, 0, [[30, 250], [20, 300]]); this.collisions.createPolygon(750, 0, [[20, 300], [-50, 320]]); this.collisions.createPolygon(750, 0, [[-50, 320], [-90, 500]]); this.collisions.createPolygon(750, 0, [[-90, 500], [-200, 600]]); // Lake this.collisions.createPolygon(550, 100, [ [-60, -20], [-20, -40], [30, -30], [60, 20], [40, 70], [10, 100], [-30, 110], [-80, 90], [-110, 50], [-100, 20], ]); } } function random(min, max) { return Math.floor(Math.random() * max) + min; } ================================================ FILE: demo/index.mjs ================================================ import Tank from './examples/Tank.mjs'; import Stress from './examples/Stress.mjs'; let example; switch(window.location.search) { case '?stress': example = new Stress(); break; default: example = new Tank(); break; } document.body.appendChild(example.element); ================================================ FILE: docs/ast/source/.external-ecmascript.js.json ================================================ { "type": "File", "start": 0, "end": 6058, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 193, "column": 0 } }, "program": { "type": "Program", "start": 0, "end": 6058, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 193, "column": 0 } }, "sourceType": "module", "body": [], "directives": [], "leadingComments": null, "innerComments": [ { "type": "CommentLine", "value": " https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects", "start": 0, "end": 83, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 83 } } }, { "type": "CommentLine", "value": " Value properties", "start": 85, "end": 104, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 19 } } }, { "type": "CommentBlock", "value": "*\n * @external {Infinity} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity\n ", "start": 105, "end": 226, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 6, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {NaN} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN\n ", "start": 228, "end": 339, "loc": { "start": { "line": 8, "column": 0 }, "end": { "line": 10, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {undefined} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined\n ", "start": 341, "end": 464, "loc": { "start": { "line": 12, "column": 0 }, "end": { "line": 14, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {null} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null\n ", "start": 466, "end": 579, "loc": { "start": { "line": 16, "column": 0 }, "end": { "line": 18, "column": 3 } } }, { "type": "CommentLine", "value": " Fundamental objects", "start": 581, "end": 603, "loc": { "start": { "line": 20, "column": 0 }, "end": { "line": 20, "column": 22 } } }, { "type": "CommentBlock", "value": "*\n * @external {Object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\n ", "start": 604, "end": 721, "loc": { "start": { "line": 21, "column": 0 }, "end": { "line": 23, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\n ", "start": 722, "end": 839, "loc": { "start": { "line": 24, "column": 0 }, "end": { "line": 26, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\n ", "start": 841, "end": 962, "loc": { "start": { "line": 28, "column": 0 }, "end": { "line": 30, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\n ", "start": 963, "end": 1084, "loc": { "start": { "line": 31, "column": 0 }, "end": { "line": 33, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\n ", "start": 1086, "end": 1205, "loc": { "start": { "line": 35, "column": 0 }, "end": { "line": 37, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\n ", "start": 1206, "end": 1325, "loc": { "start": { "line": 38, "column": 0 }, "end": { "line": 40, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Symbol} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol\n ", "start": 1327, "end": 1444, "loc": { "start": { "line": 42, "column": 0 }, "end": { "line": 44, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Error} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error\n ", "start": 1446, "end": 1561, "loc": { "start": { "line": 46, "column": 0 }, "end": { "line": 48, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {EvalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError\n ", "start": 1563, "end": 1686, "loc": { "start": { "line": 50, "column": 0 }, "end": { "line": 52, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {InternalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError\n ", "start": 1688, "end": 1819, "loc": { "start": { "line": 54, "column": 0 }, "end": { "line": 56, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {RangeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError\n ", "start": 1821, "end": 1946, "loc": { "start": { "line": 58, "column": 0 }, "end": { "line": 60, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {ReferenceError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError\n ", "start": 1948, "end": 2081, "loc": { "start": { "line": 62, "column": 0 }, "end": { "line": 64, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {SyntaxError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError\n ", "start": 2083, "end": 2210, "loc": { "start": { "line": 66, "column": 0 }, "end": { "line": 68, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {TypeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\n ", "start": 2212, "end": 2335, "loc": { "start": { "line": 70, "column": 0 }, "end": { "line": 72, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {URIError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError\n ", "start": 2337, "end": 2458, "loc": { "start": { "line": 74, "column": 0 }, "end": { "line": 76, "column": 3 } } }, { "type": "CommentLine", "value": " Numbers and dates", "start": 2460, "end": 2480, "loc": { "start": { "line": 78, "column": 0 }, "end": { "line": 78, "column": 20 } } }, { "type": "CommentBlock", "value": "*\n * @external {Number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\n ", "start": 2481, "end": 2598, "loc": { "start": { "line": 79, "column": 0 }, "end": { "line": 81, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\n ", "start": 2599, "end": 2716, "loc": { "start": { "line": 82, "column": 0 }, "end": { "line": 84, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Date} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\n ", "start": 2718, "end": 2831, "loc": { "start": { "line": 86, "column": 0 }, "end": { "line": 88, "column": 3 } } }, { "type": "CommentLine", "value": " Text processing", "start": 2833, "end": 2851, "loc": { "start": { "line": 90, "column": 0 }, "end": { "line": 90, "column": 18 } } }, { "type": "CommentBlock", "value": "*\n * @external {String} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\n ", "start": 2852, "end": 2969, "loc": { "start": { "line": 91, "column": 0 }, "end": { "line": 93, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {string} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\n ", "start": 2970, "end": 3087, "loc": { "start": { "line": 94, "column": 0 }, "end": { "line": 96, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {RegExp} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n ", "start": 3089, "end": 3206, "loc": { "start": { "line": 98, "column": 0 }, "end": { "line": 100, "column": 3 } } }, { "type": "CommentLine", "value": " Indexed collections", "start": 3208, "end": 3230, "loc": { "start": { "line": 102, "column": 0 }, "end": { "line": 102, "column": 22 } } }, { "type": "CommentBlock", "value": "*\n * @external {Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\n ", "start": 3231, "end": 3346, "loc": { "start": { "line": 103, "column": 0 }, "end": { "line": 105, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Int8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array\n ", "start": 3348, "end": 3471, "loc": { "start": { "line": 107, "column": 0 }, "end": { "line": 109, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Uint8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array\n ", "start": 3472, "end": 3597, "loc": { "start": { "line": 110, "column": 0 }, "end": { "line": 112, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Uint8ClampedArray} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray\n ", "start": 3599, "end": 3738, "loc": { "start": { "line": 114, "column": 0 }, "end": { "line": 116, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Int16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array\n ", "start": 3740, "end": 3865, "loc": { "start": { "line": 118, "column": 0 }, "end": { "line": 120, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Uint16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array\n ", "start": 3867, "end": 3994, "loc": { "start": { "line": 122, "column": 0 }, "end": { "line": 124, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Int32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array\n ", "start": 3996, "end": 4121, "loc": { "start": { "line": 126, "column": 0 }, "end": { "line": 128, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Uint32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array\n ", "start": 4123, "end": 4250, "loc": { "start": { "line": 130, "column": 0 }, "end": { "line": 132, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Float32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array\n ", "start": 4252, "end": 4381, "loc": { "start": { "line": 134, "column": 0 }, "end": { "line": 136, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Float64Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array\n ", "start": 4383, "end": 4512, "loc": { "start": { "line": 138, "column": 0 }, "end": { "line": 140, "column": 3 } } }, { "type": "CommentLine", "value": " Keyed collections", "start": 4514, "end": 4534, "loc": { "start": { "line": 142, "column": 0 }, "end": { "line": 142, "column": 20 } } }, { "type": "CommentBlock", "value": "*\n * @external {Map} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\n ", "start": 4535, "end": 4646, "loc": { "start": { "line": 143, "column": 0 }, "end": { "line": 145, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Set} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\n ", "start": 4648, "end": 4759, "loc": { "start": { "line": 147, "column": 0 }, "end": { "line": 149, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {WeakMap} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\n ", "start": 4761, "end": 4880, "loc": { "start": { "line": 151, "column": 0 }, "end": { "line": 153, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {WeakSet} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet\n ", "start": 4882, "end": 5001, "loc": { "start": { "line": 155, "column": 0 }, "end": { "line": 157, "column": 3 } } }, { "type": "CommentLine", "value": " Structured data", "start": 5003, "end": 5021, "loc": { "start": { "line": 159, "column": 0 }, "end": { "line": 159, "column": 18 } } }, { "type": "CommentBlock", "value": "*\n * @external {ArrayBuffer} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\n ", "start": 5022, "end": 5149, "loc": { "start": { "line": 160, "column": 0 }, "end": { "line": 162, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {DataView} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView\n ", "start": 5151, "end": 5272, "loc": { "start": { "line": 164, "column": 0 }, "end": { "line": 166, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {JSON} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON\n ", "start": 5274, "end": 5387, "loc": { "start": { "line": 168, "column": 0 }, "end": { "line": 170, "column": 3 } } }, { "type": "CommentLine", "value": " Control abstraction objects", "start": 5389, "end": 5419, "loc": { "start": { "line": 172, "column": 0 }, "end": { "line": 172, "column": 30 } } }, { "type": "CommentBlock", "value": "*\n * @external {Promise} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\n ", "start": 5420, "end": 5539, "loc": { "start": { "line": 173, "column": 0 }, "end": { "line": 175, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Generator} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator\n ", "start": 5541, "end": 5664, "loc": { "start": { "line": 177, "column": 0 }, "end": { "line": 179, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {GeneratorFunction} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction\n ", "start": 5666, "end": 5805, "loc": { "start": { "line": 181, "column": 0 }, "end": { "line": 183, "column": 3 } } }, { "type": "CommentLine", "value": " Reflection", "start": 5807, "end": 5820, "loc": { "start": { "line": 185, "column": 0 }, "end": { "line": 185, "column": 13 } } }, { "type": "CommentBlock", "value": "*\n * @external {Reflect} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect\n ", "start": 5821, "end": 5940, "loc": { "start": { "line": 186, "column": 0 }, "end": { "line": 188, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Proxy} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy\n ", "start": 5942, "end": 6057, "loc": { "start": { "line": 190, "column": 0 }, "end": { "line": 192, "column": 3 } } } ] }, "comments": [ { "type": "CommentLine", "value": " https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects", "start": 0, "end": 83, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 83 } } }, { "type": "CommentLine", "value": " Value properties", "start": 85, "end": 104, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 19 } } }, { "type": "CommentBlock", "value": "*\n * @external {Infinity} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity\n ", "start": 105, "end": 226, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 6, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {NaN} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN\n ", "start": 228, "end": 339, "loc": { "start": { "line": 8, "column": 0 }, "end": { "line": 10, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {undefined} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined\n ", "start": 341, "end": 464, "loc": { "start": { "line": 12, "column": 0 }, "end": { "line": 14, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {null} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null\n ", "start": 466, "end": 579, "loc": { "start": { "line": 16, "column": 0 }, "end": { "line": 18, "column": 3 } } }, { "type": "CommentLine", "value": " Fundamental objects", "start": 581, "end": 603, "loc": { "start": { "line": 20, "column": 0 }, "end": { "line": 20, "column": 22 } } }, { "type": "CommentBlock", "value": "*\n * @external {Object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\n ", "start": 604, "end": 721, "loc": { "start": { "line": 21, "column": 0 }, "end": { "line": 23, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\n ", "start": 722, "end": 839, "loc": { "start": { "line": 24, "column": 0 }, "end": { "line": 26, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\n ", "start": 841, "end": 962, "loc": { "start": { "line": 28, "column": 0 }, "end": { "line": 30, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\n ", "start": 963, "end": 1084, "loc": { "start": { "line": 31, "column": 0 }, "end": { "line": 33, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\n ", "start": 1086, "end": 1205, "loc": { "start": { "line": 35, "column": 0 }, "end": { "line": 37, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\n ", "start": 1206, "end": 1325, "loc": { "start": { "line": 38, "column": 0 }, "end": { "line": 40, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Symbol} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol\n ", "start": 1327, "end": 1444, "loc": { "start": { "line": 42, "column": 0 }, "end": { "line": 44, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Error} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error\n ", "start": 1446, "end": 1561, "loc": { "start": { "line": 46, "column": 0 }, "end": { "line": 48, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {EvalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError\n ", "start": 1563, "end": 1686, "loc": { "start": { "line": 50, "column": 0 }, "end": { "line": 52, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {InternalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError\n ", "start": 1688, "end": 1819, "loc": { "start": { "line": 54, "column": 0 }, "end": { "line": 56, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {RangeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError\n ", "start": 1821, "end": 1946, "loc": { "start": { "line": 58, "column": 0 }, "end": { "line": 60, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {ReferenceError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError\n ", "start": 1948, "end": 2081, "loc": { "start": { "line": 62, "column": 0 }, "end": { "line": 64, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {SyntaxError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError\n ", "start": 2083, "end": 2210, "loc": { "start": { "line": 66, "column": 0 }, "end": { "line": 68, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {TypeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\n ", "start": 2212, "end": 2335, "loc": { "start": { "line": 70, "column": 0 }, "end": { "line": 72, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {URIError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError\n ", "start": 2337, "end": 2458, "loc": { "start": { "line": 74, "column": 0 }, "end": { "line": 76, "column": 3 } } }, { "type": "CommentLine", "value": " Numbers and dates", "start": 2460, "end": 2480, "loc": { "start": { "line": 78, "column": 0 }, "end": { "line": 78, "column": 20 } } }, { "type": "CommentBlock", "value": "*\n * @external {Number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\n ", "start": 2481, "end": 2598, "loc": { "start": { "line": 79, "column": 0 }, "end": { "line": 81, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\n ", "start": 2599, "end": 2716, "loc": { "start": { "line": 82, "column": 0 }, "end": { "line": 84, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Date} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\n ", "start": 2718, "end": 2831, "loc": { "start": { "line": 86, "column": 0 }, "end": { "line": 88, "column": 3 } } }, { "type": "CommentLine", "value": " Text processing", "start": 2833, "end": 2851, "loc": { "start": { "line": 90, "column": 0 }, "end": { "line": 90, "column": 18 } } }, { "type": "CommentBlock", "value": "*\n * @external {String} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\n ", "start": 2852, "end": 2969, "loc": { "start": { "line": 91, "column": 0 }, "end": { "line": 93, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {string} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\n ", "start": 2970, "end": 3087, "loc": { "start": { "line": 94, "column": 0 }, "end": { "line": 96, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {RegExp} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n ", "start": 3089, "end": 3206, "loc": { "start": { "line": 98, "column": 0 }, "end": { "line": 100, "column": 3 } } }, { "type": "CommentLine", "value": " Indexed collections", "start": 3208, "end": 3230, "loc": { "start": { "line": 102, "column": 0 }, "end": { "line": 102, "column": 22 } } }, { "type": "CommentBlock", "value": "*\n * @external {Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\n ", "start": 3231, "end": 3346, "loc": { "start": { "line": 103, "column": 0 }, "end": { "line": 105, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Int8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array\n ", "start": 3348, "end": 3471, "loc": { "start": { "line": 107, "column": 0 }, "end": { "line": 109, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Uint8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array\n ", "start": 3472, "end": 3597, "loc": { "start": { "line": 110, "column": 0 }, "end": { "line": 112, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Uint8ClampedArray} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray\n ", "start": 3599, "end": 3738, "loc": { "start": { "line": 114, "column": 0 }, "end": { "line": 116, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Int16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array\n ", "start": 3740, "end": 3865, "loc": { "start": { "line": 118, "column": 0 }, "end": { "line": 120, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Uint16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array\n ", "start": 3867, "end": 3994, "loc": { "start": { "line": 122, "column": 0 }, "end": { "line": 124, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Int32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array\n ", "start": 3996, "end": 4121, "loc": { "start": { "line": 126, "column": 0 }, "end": { "line": 128, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Uint32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array\n ", "start": 4123, "end": 4250, "loc": { "start": { "line": 130, "column": 0 }, "end": { "line": 132, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Float32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array\n ", "start": 4252, "end": 4381, "loc": { "start": { "line": 134, "column": 0 }, "end": { "line": 136, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Float64Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array\n ", "start": 4383, "end": 4512, "loc": { "start": { "line": 138, "column": 0 }, "end": { "line": 140, "column": 3 } } }, { "type": "CommentLine", "value": " Keyed collections", "start": 4514, "end": 4534, "loc": { "start": { "line": 142, "column": 0 }, "end": { "line": 142, "column": 20 } } }, { "type": "CommentBlock", "value": "*\n * @external {Map} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\n ", "start": 4535, "end": 4646, "loc": { "start": { "line": 143, "column": 0 }, "end": { "line": 145, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Set} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\n ", "start": 4648, "end": 4759, "loc": { "start": { "line": 147, "column": 0 }, "end": { "line": 149, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {WeakMap} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\n ", "start": 4761, "end": 4880, "loc": { "start": { "line": 151, "column": 0 }, "end": { "line": 153, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {WeakSet} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet\n ", "start": 4882, "end": 5001, "loc": { "start": { "line": 155, "column": 0 }, "end": { "line": 157, "column": 3 } } }, { "type": "CommentLine", "value": " Structured data", "start": 5003, "end": 5021, "loc": { "start": { "line": 159, "column": 0 }, "end": { "line": 159, "column": 18 } } }, { "type": "CommentBlock", "value": "*\n * @external {ArrayBuffer} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\n ", "start": 5022, "end": 5149, "loc": { "start": { "line": 160, "column": 0 }, "end": { "line": 162, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {DataView} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView\n ", "start": 5151, "end": 5272, "loc": { "start": { "line": 164, "column": 0 }, "end": { "line": 166, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {JSON} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON\n ", "start": 5274, "end": 5387, "loc": { "start": { "line": 168, "column": 0 }, "end": { "line": 170, "column": 3 } } }, { "type": "CommentLine", "value": " Control abstraction objects", "start": 5389, "end": 5419, "loc": { "start": { "line": 172, "column": 0 }, "end": { "line": 172, "column": 30 } } }, { "type": "CommentBlock", "value": "*\n * @external {Promise} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\n ", "start": 5420, "end": 5539, "loc": { "start": { "line": 173, "column": 0 }, "end": { "line": 175, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Generator} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator\n ", "start": 5541, "end": 5664, "loc": { "start": { "line": 177, "column": 0 }, "end": { "line": 179, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {GeneratorFunction} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction\n ", "start": 5666, "end": 5805, "loc": { "start": { "line": 181, "column": 0 }, "end": { "line": 183, "column": 3 } } }, { "type": "CommentLine", "value": " Reflection", "start": 5807, "end": 5820, "loc": { "start": { "line": 185, "column": 0 }, "end": { "line": 185, "column": 13 } } }, { "type": "CommentBlock", "value": "*\n * @external {Reflect} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect\n ", "start": 5821, "end": 5940, "loc": { "start": { "line": 186, "column": 0 }, "end": { "line": 188, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Proxy} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy\n ", "start": 5942, "end": 6057, "loc": { "start": { "line": 190, "column": 0 }, "end": { "line": 192, "column": 3 } } } ], "tokens": [ { "type": "CommentLine", "value": " https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects", "start": 0, "end": 83, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 83 } } }, { "type": "CommentLine", "value": " Value properties", "start": 85, "end": 104, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 19 } } }, { "type": "CommentBlock", "value": "*\n * @external {Infinity} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity\n ", "start": 105, "end": 226, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 6, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {NaN} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN\n ", "start": 228, "end": 339, "loc": { "start": { "line": 8, "column": 0 }, "end": { "line": 10, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {undefined} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined\n ", "start": 341, "end": 464, "loc": { "start": { "line": 12, "column": 0 }, "end": { "line": 14, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {null} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null\n ", "start": 466, "end": 579, "loc": { "start": { "line": 16, "column": 0 }, "end": { "line": 18, "column": 3 } } }, { "type": "CommentLine", "value": " Fundamental objects", "start": 581, "end": 603, "loc": { "start": { "line": 20, "column": 0 }, "end": { "line": 20, "column": 22 } } }, { "type": "CommentBlock", "value": "*\n * @external {Object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\n ", "start": 604, "end": 721, "loc": { "start": { "line": 21, "column": 0 }, "end": { "line": 23, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\n ", "start": 722, "end": 839, "loc": { "start": { "line": 24, "column": 0 }, "end": { "line": 26, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\n ", "start": 841, "end": 962, "loc": { "start": { "line": 28, "column": 0 }, "end": { "line": 30, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\n ", "start": 963, "end": 1084, "loc": { "start": { "line": 31, "column": 0 }, "end": { "line": 33, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\n ", "start": 1086, "end": 1205, "loc": { "start": { "line": 35, "column": 0 }, "end": { "line": 37, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\n ", "start": 1206, "end": 1325, "loc": { "start": { "line": 38, "column": 0 }, "end": { "line": 40, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Symbol} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol\n ", "start": 1327, "end": 1444, "loc": { "start": { "line": 42, "column": 0 }, "end": { "line": 44, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Error} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error\n ", "start": 1446, "end": 1561, "loc": { "start": { "line": 46, "column": 0 }, "end": { "line": 48, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {EvalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError\n ", "start": 1563, "end": 1686, "loc": { "start": { "line": 50, "column": 0 }, "end": { "line": 52, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {InternalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError\n ", "start": 1688, "end": 1819, "loc": { "start": { "line": 54, "column": 0 }, "end": { "line": 56, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {RangeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError\n ", "start": 1821, "end": 1946, "loc": { "start": { "line": 58, "column": 0 }, "end": { "line": 60, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {ReferenceError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError\n ", "start": 1948, "end": 2081, "loc": { "start": { "line": 62, "column": 0 }, "end": { "line": 64, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {SyntaxError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError\n ", "start": 2083, "end": 2210, "loc": { "start": { "line": 66, "column": 0 }, "end": { "line": 68, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {TypeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\n ", "start": 2212, "end": 2335, "loc": { "start": { "line": 70, "column": 0 }, "end": { "line": 72, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {URIError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError\n ", "start": 2337, "end": 2458, "loc": { "start": { "line": 74, "column": 0 }, "end": { "line": 76, "column": 3 } } }, { "type": "CommentLine", "value": " Numbers and dates", "start": 2460, "end": 2480, "loc": { "start": { "line": 78, "column": 0 }, "end": { "line": 78, "column": 20 } } }, { "type": "CommentBlock", "value": "*\n * @external {Number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\n ", "start": 2481, "end": 2598, "loc": { "start": { "line": 79, "column": 0 }, "end": { "line": 81, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\n ", "start": 2599, "end": 2716, "loc": { "start": { "line": 82, "column": 0 }, "end": { "line": 84, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Date} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\n ", "start": 2718, "end": 2831, "loc": { "start": { "line": 86, "column": 0 }, "end": { "line": 88, "column": 3 } } }, { "type": "CommentLine", "value": " Text processing", "start": 2833, "end": 2851, "loc": { "start": { "line": 90, "column": 0 }, "end": { "line": 90, "column": 18 } } }, { "type": "CommentBlock", "value": "*\n * @external {String} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\n ", "start": 2852, "end": 2969, "loc": { "start": { "line": 91, "column": 0 }, "end": { "line": 93, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {string} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\n ", "start": 2970, "end": 3087, "loc": { "start": { "line": 94, "column": 0 }, "end": { "line": 96, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {RegExp} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n ", "start": 3089, "end": 3206, "loc": { "start": { "line": 98, "column": 0 }, "end": { "line": 100, "column": 3 } } }, { "type": "CommentLine", "value": " Indexed collections", "start": 3208, "end": 3230, "loc": { "start": { "line": 102, "column": 0 }, "end": { "line": 102, "column": 22 } } }, { "type": "CommentBlock", "value": "*\n * @external {Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\n ", "start": 3231, "end": 3346, "loc": { "start": { "line": 103, "column": 0 }, "end": { "line": 105, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Int8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array\n ", "start": 3348, "end": 3471, "loc": { "start": { "line": 107, "column": 0 }, "end": { "line": 109, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Uint8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array\n ", "start": 3472, "end": 3597, "loc": { "start": { "line": 110, "column": 0 }, "end": { "line": 112, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Uint8ClampedArray} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray\n ", "start": 3599, "end": 3738, "loc": { "start": { "line": 114, "column": 0 }, "end": { "line": 116, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Int16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array\n ", "start": 3740, "end": 3865, "loc": { "start": { "line": 118, "column": 0 }, "end": { "line": 120, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Uint16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array\n ", "start": 3867, "end": 3994, "loc": { "start": { "line": 122, "column": 0 }, "end": { "line": 124, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Int32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array\n ", "start": 3996, "end": 4121, "loc": { "start": { "line": 126, "column": 0 }, "end": { "line": 128, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Uint32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array\n ", "start": 4123, "end": 4250, "loc": { "start": { "line": 130, "column": 0 }, "end": { "line": 132, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Float32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array\n ", "start": 4252, "end": 4381, "loc": { "start": { "line": 134, "column": 0 }, "end": { "line": 136, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Float64Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array\n ", "start": 4383, "end": 4512, "loc": { "start": { "line": 138, "column": 0 }, "end": { "line": 140, "column": 3 } } }, { "type": "CommentLine", "value": " Keyed collections", "start": 4514, "end": 4534, "loc": { "start": { "line": 142, "column": 0 }, "end": { "line": 142, "column": 20 } } }, { "type": "CommentBlock", "value": "*\n * @external {Map} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\n ", "start": 4535, "end": 4646, "loc": { "start": { "line": 143, "column": 0 }, "end": { "line": 145, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Set} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\n ", "start": 4648, "end": 4759, "loc": { "start": { "line": 147, "column": 0 }, "end": { "line": 149, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {WeakMap} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\n ", "start": 4761, "end": 4880, "loc": { "start": { "line": 151, "column": 0 }, "end": { "line": 153, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {WeakSet} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet\n ", "start": 4882, "end": 5001, "loc": { "start": { "line": 155, "column": 0 }, "end": { "line": 157, "column": 3 } } }, { "type": "CommentLine", "value": " Structured data", "start": 5003, "end": 5021, "loc": { "start": { "line": 159, "column": 0 }, "end": { "line": 159, "column": 18 } } }, { "type": "CommentBlock", "value": "*\n * @external {ArrayBuffer} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\n ", "start": 5022, "end": 5149, "loc": { "start": { "line": 160, "column": 0 }, "end": { "line": 162, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {DataView} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView\n ", "start": 5151, "end": 5272, "loc": { "start": { "line": 164, "column": 0 }, "end": { "line": 166, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {JSON} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON\n ", "start": 5274, "end": 5387, "loc": { "start": { "line": 168, "column": 0 }, "end": { "line": 170, "column": 3 } } }, { "type": "CommentLine", "value": " Control abstraction objects", "start": 5389, "end": 5419, "loc": { "start": { "line": 172, "column": 0 }, "end": { "line": 172, "column": 30 } } }, { "type": "CommentBlock", "value": "*\n * @external {Promise} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\n ", "start": 5420, "end": 5539, "loc": { "start": { "line": 173, "column": 0 }, "end": { "line": 175, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Generator} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator\n ", "start": 5541, "end": 5664, "loc": { "start": { "line": 177, "column": 0 }, "end": { "line": 179, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {GeneratorFunction} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction\n ", "start": 5666, "end": 5805, "loc": { "start": { "line": 181, "column": 0 }, "end": { "line": 183, "column": 3 } } }, { "type": "CommentLine", "value": " Reflection", "start": 5807, "end": 5820, "loc": { "start": { "line": 185, "column": 0 }, "end": { "line": 185, "column": 13 } } }, { "type": "CommentBlock", "value": "*\n * @external {Reflect} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect\n ", "start": 5821, "end": 5940, "loc": { "start": { "line": 186, "column": 0 }, "end": { "line": 188, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @external {Proxy} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy\n ", "start": 5942, "end": 6057, "loc": { "start": { "line": 190, "column": 0 }, "end": { "line": 192, "column": 3 } } }, { "type": { "label": "eof", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6058, "end": 6058, "loc": { "start": { "line": 193, "column": 0 }, "end": { "line": 193, "column": 0 } } } ] } ================================================ FILE: docs/ast/source/Collisions.mjs.json ================================================ { "type": "File", "start": 0, "end": 4552, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 164, "column": 0 } }, "program": { "type": "Program", "start": 0, "end": 4552, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 164, "column": 0 } }, "sourceType": "module", "body": [ { "type": "ImportDeclaration", "start": 0, "end": 40, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 40 } }, "specifiers": [ { "type": "ImportDefaultSpecifier", "start": 7, "end": 10, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 10 } }, "local": { "type": "Identifier", "start": 7, "end": 10, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 10 }, "identifierName": "BVH" }, "name": "BVH" } } ], "source": { "type": "StringLiteral", "start": 20, "end": 39, "loc": { "start": { "line": 1, "column": 20 }, "end": { "line": 1, "column": 39 } }, "extra": { "rawValue": "./modules/BVH.mjs", "raw": "'./modules/BVH.mjs'" }, "value": "./modules/BVH.mjs" } }, { "type": "ImportDeclaration", "start": 41, "end": 84, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 43 } }, "specifiers": [ { "type": "ImportDefaultSpecifier", "start": 48, "end": 54, "loc": { "start": { "line": 2, "column": 7 }, "end": { "line": 2, "column": 13 } }, "local": { "type": "Identifier", "start": 48, "end": 54, "loc": { "start": { "line": 2, "column": 7 }, "end": { "line": 2, "column": 13 }, "identifierName": "Circle" }, "name": "Circle" } } ], "source": { "type": "StringLiteral", "start": 61, "end": 83, "loc": { "start": { "line": 2, "column": 20 }, "end": { "line": 2, "column": 42 } }, "extra": { "rawValue": "./modules/Circle.mjs", "raw": "'./modules/Circle.mjs'" }, "value": "./modules/Circle.mjs" } }, { "type": "ImportDeclaration", "start": 85, "end": 129, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 44 } }, "specifiers": [ { "type": "ImportDefaultSpecifier", "start": 92, "end": 99, "loc": { "start": { "line": 3, "column": 7 }, "end": { "line": 3, "column": 14 } }, "local": { "type": "Identifier", "start": 92, "end": 99, "loc": { "start": { "line": 3, "column": 7 }, "end": { "line": 3, "column": 14 }, "identifierName": "Polygon" }, "name": "Polygon" } } ], "source": { "type": "StringLiteral", "start": 105, "end": 128, "loc": { "start": { "line": 3, "column": 20 }, "end": { "line": 3, "column": 43 } }, "extra": { "rawValue": "./modules/Polygon.mjs", "raw": "'./modules/Polygon.mjs'" }, "value": "./modules/Polygon.mjs" } }, { "type": "ImportDeclaration", "start": 130, "end": 172, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 42 } }, "specifiers": [ { "type": "ImportDefaultSpecifier", "start": 137, "end": 142, "loc": { "start": { "line": 4, "column": 7 }, "end": { "line": 4, "column": 12 } }, "local": { "type": "Identifier", "start": 137, "end": 142, "loc": { "start": { "line": 4, "column": 7 }, "end": { "line": 4, "column": 12 }, "identifierName": "Point" }, "name": "Point" } } ], "source": { "type": "StringLiteral", "start": 150, "end": 171, "loc": { "start": { "line": 4, "column": 20 }, "end": { "line": 4, "column": 41 } }, "extra": { "rawValue": "./modules/Point.mjs", "raw": "'./modules/Point.mjs'" }, "value": "./modules/Point.mjs" } }, { "type": "ImportDeclaration", "start": 173, "end": 216, "loc": { "start": { "line": 5, "column": 0 }, "end": { "line": 5, "column": 43 } }, "specifiers": [ { "type": "ImportDefaultSpecifier", "start": 180, "end": 186, "loc": { "start": { "line": 5, "column": 7 }, "end": { "line": 5, "column": 13 } }, "local": { "type": "Identifier", "start": 180, "end": 186, "loc": { "start": { "line": 5, "column": 7 }, "end": { "line": 5, "column": 13 }, "identifierName": "Result" }, "name": "Result" } } ], "source": { "type": "StringLiteral", "start": 193, "end": 215, "loc": { "start": { "line": 5, "column": 20 }, "end": { "line": 5, "column": 42 } }, "extra": { "rawValue": "./modules/Result.mjs", "raw": "'./modules/Result.mjs'" }, "value": "./modules/Result.mjs" } }, { "type": "ImportDeclaration", "start": 217, "end": 257, "loc": { "start": { "line": 6, "column": 0 }, "end": { "line": 6, "column": 40 } }, "specifiers": [ { "type": "ImportDefaultSpecifier", "start": 224, "end": 227, "loc": { "start": { "line": 6, "column": 7 }, "end": { "line": 6, "column": 10 } }, "local": { "type": "Identifier", "start": 224, "end": 227, "loc": { "start": { "line": 6, "column": 7 }, "end": { "line": 6, "column": 10 }, "identifierName": "SAT" }, "name": "SAT" } } ], "source": { "type": "StringLiteral", "start": 237, "end": 256, "loc": { "start": { "line": 6, "column": 20 }, "end": { "line": 6, "column": 39 } }, "extra": { "rawValue": "./modules/SAT.mjs", "raw": "'./modules/SAT.mjs'" }, "value": "./modules/SAT.mjs" }, "trailingComments": [ { "type": "CommentBlock", "value": "*\n * A collision system used to track bodies in order to improve collision detection performance\n * @class\n ", "start": 259, "end": 371, "loc": { "start": { "line": 8, "column": 0 }, "end": { "line": 11, "column": 3 } } } ] }, { "type": "Identifier", "start": 372, "end": 4464, "loc": { "start": { "line": 12, "column": 0 }, "end": { "line": 154, "column": 1 } }, "id": { "type": "Identifier", "start": 378, "end": 388, "loc": { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 16 }, "identifierName": "Collisions" }, "name": "Collisions", "leadingComments": null }, "superClass": null, "body": { "type": "ClassBody", "start": 389, "end": 4464, "loc": { "start": { "line": 12, "column": 17 }, "end": { "line": 154, "column": 1 } }, "body": [ { "type": "ClassMethod", "start": 419, "end": 480, "loc": { "start": { "line": 16, "column": 1 }, "end": { "line": 19, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 419, "end": 430, "loc": { "start": { "line": 16, "column": 1 }, "end": { "line": 16, "column": 12 }, "identifierName": "constructor" }, "name": "constructor", "leadingComments": null }, "kind": "constructor", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 433, "end": 480, "loc": { "start": { "line": 16, "column": 15 }, "end": { "line": 19, "column": 2 } }, "body": [ { "type": "ExpressionStatement", "start": 455, "end": 477, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 24 } }, "expression": { "type": "AssignmentExpression", "start": 455, "end": 476, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 23 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 455, "end": 464, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 11 } }, "object": { "type": "ThisExpression", "start": 455, "end": 459, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 460, "end": 464, "loc": { "start": { "line": 18, "column": 7 }, "end": { "line": 18, "column": 11 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false, "leadingComments": null }, "right": { "type": "NewExpression", "start": 467, "end": 476, "loc": { "start": { "line": 18, "column": 14 }, "end": { "line": 18, "column": 23 } }, "callee": { "type": "Identifier", "start": 471, "end": 474, "loc": { "start": { "line": 18, "column": 18 }, "end": { "line": 18, "column": 21 }, "identifierName": "BVH" }, "name": "BVH" }, "arguments": [] }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 437, "end": 452, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 17 } } } ] } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t ", "start": 392, "end": 417, "loc": { "start": { "line": 13, "column": 1 }, "end": { "line": 15, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Circle} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [radius = 0] The radius\n\t * @param {Number} [scale = 1] The scale\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Circle}\n\t ", "start": 483, "end": 887, "loc": { "start": { "line": 21, "column": 1 }, "end": { "line": 29, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 889, "end": 1056, "loc": { "start": { "line": 30, "column": 1 }, "end": { "line": 36, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 889, "end": 901, "loc": { "start": { "line": 30, "column": 1 }, "end": { "line": 30, "column": 13 }, "identifierName": "createCircle" }, "name": "createCircle", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "AssignmentPattern", "start": 902, "end": 907, "loc": { "start": { "line": 30, "column": 14 }, "end": { "line": 30, "column": 19 } }, "left": { "type": "Identifier", "start": 902, "end": 903, "loc": { "start": { "line": 30, "column": 14 }, "end": { "line": 30, "column": 15 }, "identifierName": "x" }, "name": "x" }, "right": { "type": "NumericLiteral", "start": 906, "end": 907, "loc": { "start": { "line": 30, "column": 18 }, "end": { "line": 30, "column": 19 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 909, "end": 914, "loc": { "start": { "line": 30, "column": 21 }, "end": { "line": 30, "column": 26 } }, "left": { "type": "Identifier", "start": 909, "end": 910, "loc": { "start": { "line": 30, "column": 21 }, "end": { "line": 30, "column": 22 }, "identifierName": "y" }, "name": "y" }, "right": { "type": "NumericLiteral", "start": 913, "end": 914, "loc": { "start": { "line": 30, "column": 25 }, "end": { "line": 30, "column": 26 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 916, "end": 926, "loc": { "start": { "line": 30, "column": 28 }, "end": { "line": 30, "column": 38 } }, "left": { "type": "Identifier", "start": 916, "end": 922, "loc": { "start": { "line": 30, "column": 28 }, "end": { "line": 30, "column": 34 }, "identifierName": "radius" }, "name": "radius" }, "right": { "type": "NumericLiteral", "start": 925, "end": 926, "loc": { "start": { "line": 30, "column": 37 }, "end": { "line": 30, "column": 38 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 928, "end": 937, "loc": { "start": { "line": 30, "column": 40 }, "end": { "line": 30, "column": 49 } }, "left": { "type": "Identifier", "start": 928, "end": 933, "loc": { "start": { "line": 30, "column": 40 }, "end": { "line": 30, "column": 45 }, "identifierName": "scale" }, "name": "scale" }, "right": { "type": "NumericLiteral", "start": 936, "end": 937, "loc": { "start": { "line": 30, "column": 48 }, "end": { "line": 30, "column": 49 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } }, { "type": "AssignmentPattern", "start": 939, "end": 950, "loc": { "start": { "line": 30, "column": 51 }, "end": { "line": 30, "column": 62 } }, "left": { "type": "Identifier", "start": 939, "end": 946, "loc": { "start": { "line": 30, "column": 51 }, "end": { "line": 30, "column": 58 }, "identifierName": "padding" }, "name": "padding" }, "right": { "type": "NumericLiteral", "start": 949, "end": 950, "loc": { "start": { "line": 30, "column": 61 }, "end": { "line": 30, "column": 62 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "body": { "type": "BlockStatement", "start": 952, "end": 1056, "loc": { "start": { "line": 30, "column": 64 }, "end": { "line": 36, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 956, "end": 1010, "loc": { "start": { "line": 31, "column": 2 }, "end": { "line": 31, "column": 56 } }, "declarations": [ { "type": "VariableDeclarator", "start": 962, "end": 1009, "loc": { "start": { "line": 31, "column": 8 }, "end": { "line": 31, "column": 55 } }, "id": { "type": "Identifier", "start": 962, "end": 966, "loc": { "start": { "line": 31, "column": 8 }, "end": { "line": 31, "column": 12 }, "identifierName": "body" }, "name": "body" }, "init": { "type": "NewExpression", "start": 969, "end": 1009, "loc": { "start": { "line": 31, "column": 15 }, "end": { "line": 31, "column": 55 } }, "callee": { "type": "Identifier", "start": 973, "end": 979, "loc": { "start": { "line": 31, "column": 19 }, "end": { "line": 31, "column": 25 }, "identifierName": "Circle" }, "name": "Circle" }, "arguments": [ { "type": "Identifier", "start": 980, "end": 981, "loc": { "start": { "line": 31, "column": 26 }, "end": { "line": 31, "column": 27 }, "identifierName": "x" }, "name": "x" }, { "type": "Identifier", "start": 983, "end": 984, "loc": { "start": { "line": 31, "column": 29 }, "end": { "line": 31, "column": 30 }, "identifierName": "y" }, "name": "y" }, { "type": "Identifier", "start": 986, "end": 992, "loc": { "start": { "line": 31, "column": 32 }, "end": { "line": 31, "column": 38 }, "identifierName": "radius" }, "name": "radius" }, { "type": "Identifier", "start": 994, "end": 999, "loc": { "start": { "line": 31, "column": 40 }, "end": { "line": 31, "column": 45 }, "identifierName": "scale" }, "name": "scale" }, { "type": "Identifier", "start": 1001, "end": 1008, "loc": { "start": { "line": 31, "column": 47 }, "end": { "line": 31, "column": 54 }, "identifierName": "padding" }, "name": "padding" } ] } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 1014, "end": 1037, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 33, "column": 25 } }, "expression": { "type": "CallExpression", "start": 1014, "end": 1036, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 33, "column": 24 } }, "callee": { "type": "MemberExpression", "start": 1014, "end": 1030, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 33, "column": 18 } }, "object": { "type": "MemberExpression", "start": 1014, "end": 1023, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 33, "column": 11 } }, "object": { "type": "ThisExpression", "start": 1014, "end": 1018, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 33, "column": 6 } } }, "property": { "type": "Identifier", "start": 1019, "end": 1023, "loc": { "start": { "line": 33, "column": 7 }, "end": { "line": 33, "column": 11 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 1024, "end": 1030, "loc": { "start": { "line": 33, "column": 12 }, "end": { "line": 33, "column": 18 }, "identifierName": "insert" }, "name": "insert" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 1031, "end": 1035, "loc": { "start": { "line": 33, "column": 19 }, "end": { "line": 33, "column": 23 }, "identifierName": "body" }, "name": "body" } ] } }, { "type": "ReturnStatement", "start": 1041, "end": 1053, "loc": { "start": { "line": 35, "column": 2 }, "end": { "line": 35, "column": 14 } }, "argument": { "type": "Identifier", "start": 1048, "end": 1052, "loc": { "start": { "line": 35, "column": 9 }, "end": { "line": 35, "column": 13 }, "identifierName": "body" }, "name": "body" } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Circle} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [radius = 0] The radius\n\t * @param {Number} [scale = 1] The scale\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Circle}\n\t ", "start": 483, "end": 887, "loc": { "start": { "line": 21, "column": 1 }, "end": { "line": 29, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Polygon} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Array} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t * @param {Number} [angle = 0] The starting rotation in radians\n\t * @param {Number} [scale_x = 1] The starting scale along the X axis\n\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Polygon}\n\t ", "start": 1059, "end": 1705, "loc": { "start": { "line": 38, "column": 1 }, "end": { "line": 48, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 1707, "end": 1927, "loc": { "start": { "line": 49, "column": 1 }, "end": { "line": 55, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 1707, "end": 1720, "loc": { "start": { "line": 49, "column": 1 }, "end": { "line": 49, "column": 14 }, "identifierName": "createPolygon" }, "name": "createPolygon", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "AssignmentPattern", "start": 1721, "end": 1726, "loc": { "start": { "line": 49, "column": 15 }, "end": { "line": 49, "column": 20 } }, "left": { "type": "Identifier", "start": 1721, "end": 1722, "loc": { "start": { "line": 49, "column": 15 }, "end": { "line": 49, "column": 16 }, "identifierName": "x" }, "name": "x" }, "right": { "type": "NumericLiteral", "start": 1725, "end": 1726, "loc": { "start": { "line": 49, "column": 19 }, "end": { "line": 49, "column": 20 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 1728, "end": 1733, "loc": { "start": { "line": 49, "column": 22 }, "end": { "line": 49, "column": 27 } }, "left": { "type": "Identifier", "start": 1728, "end": 1729, "loc": { "start": { "line": 49, "column": 22 }, "end": { "line": 49, "column": 23 }, "identifierName": "y" }, "name": "y" }, "right": { "type": "NumericLiteral", "start": 1732, "end": 1733, "loc": { "start": { "line": 49, "column": 26 }, "end": { "line": 49, "column": 27 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 1735, "end": 1752, "loc": { "start": { "line": 49, "column": 29 }, "end": { "line": 49, "column": 46 } }, "left": { "type": "Identifier", "start": 1735, "end": 1741, "loc": { "start": { "line": 49, "column": 29 }, "end": { "line": 49, "column": 35 }, "identifierName": "points" }, "name": "points" }, "right": { "type": "ArrayExpression", "start": 1744, "end": 1752, "loc": { "start": { "line": 49, "column": 38 }, "end": { "line": 49, "column": 46 } }, "elements": [ { "type": "ArrayExpression", "start": 1745, "end": 1751, "loc": { "start": { "line": 49, "column": 39 }, "end": { "line": 49, "column": 45 } }, "elements": [ { "type": "NumericLiteral", "start": 1746, "end": 1747, "loc": { "start": { "line": 49, "column": 40 }, "end": { "line": 49, "column": 41 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, { "type": "NumericLiteral", "start": 1749, "end": 1750, "loc": { "start": { "line": 49, "column": 43 }, "end": { "line": 49, "column": 44 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } ] } ] } }, { "type": "AssignmentPattern", "start": 1754, "end": 1763, "loc": { "start": { "line": 49, "column": 48 }, "end": { "line": 49, "column": 57 } }, "left": { "type": "Identifier", "start": 1754, "end": 1759, "loc": { "start": { "line": 49, "column": 48 }, "end": { "line": 49, "column": 53 }, "identifierName": "angle" }, "name": "angle" }, "right": { "type": "NumericLiteral", "start": 1762, "end": 1763, "loc": { "start": { "line": 49, "column": 56 }, "end": { "line": 49, "column": 57 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 1765, "end": 1776, "loc": { "start": { "line": 49, "column": 59 }, "end": { "line": 49, "column": 70 } }, "left": { "type": "Identifier", "start": 1765, "end": 1772, "loc": { "start": { "line": 49, "column": 59 }, "end": { "line": 49, "column": 66 }, "identifierName": "scale_x" }, "name": "scale_x" }, "right": { "type": "NumericLiteral", "start": 1775, "end": 1776, "loc": { "start": { "line": 49, "column": 69 }, "end": { "line": 49, "column": 70 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } }, { "type": "AssignmentPattern", "start": 1778, "end": 1789, "loc": { "start": { "line": 49, "column": 72 }, "end": { "line": 49, "column": 83 } }, "left": { "type": "Identifier", "start": 1778, "end": 1785, "loc": { "start": { "line": 49, "column": 72 }, "end": { "line": 49, "column": 79 }, "identifierName": "scale_y" }, "name": "scale_y" }, "right": { "type": "NumericLiteral", "start": 1788, "end": 1789, "loc": { "start": { "line": 49, "column": 82 }, "end": { "line": 49, "column": 83 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } }, { "type": "AssignmentPattern", "start": 1791, "end": 1802, "loc": { "start": { "line": 49, "column": 85 }, "end": { "line": 49, "column": 96 } }, "left": { "type": "Identifier", "start": 1791, "end": 1798, "loc": { "start": { "line": 49, "column": 85 }, "end": { "line": 49, "column": 92 }, "identifierName": "padding" }, "name": "padding" }, "right": { "type": "NumericLiteral", "start": 1801, "end": 1802, "loc": { "start": { "line": 49, "column": 95 }, "end": { "line": 49, "column": 96 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "body": { "type": "BlockStatement", "start": 1804, "end": 1927, "loc": { "start": { "line": 49, "column": 98 }, "end": { "line": 55, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 1808, "end": 1881, "loc": { "start": { "line": 50, "column": 2 }, "end": { "line": 50, "column": 75 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1814, "end": 1880, "loc": { "start": { "line": 50, "column": 8 }, "end": { "line": 50, "column": 74 } }, "id": { "type": "Identifier", "start": 1814, "end": 1818, "loc": { "start": { "line": 50, "column": 8 }, "end": { "line": 50, "column": 12 }, "identifierName": "body" }, "name": "body" }, "init": { "type": "NewExpression", "start": 1821, "end": 1880, "loc": { "start": { "line": 50, "column": 15 }, "end": { "line": 50, "column": 74 } }, "callee": { "type": "Identifier", "start": 1825, "end": 1832, "loc": { "start": { "line": 50, "column": 19 }, "end": { "line": 50, "column": 26 }, "identifierName": "Polygon" }, "name": "Polygon" }, "arguments": [ { "type": "Identifier", "start": 1833, "end": 1834, "loc": { "start": { "line": 50, "column": 27 }, "end": { "line": 50, "column": 28 }, "identifierName": "x" }, "name": "x" }, { "type": "Identifier", "start": 1836, "end": 1837, "loc": { "start": { "line": 50, "column": 30 }, "end": { "line": 50, "column": 31 }, "identifierName": "y" }, "name": "y" }, { "type": "Identifier", "start": 1839, "end": 1845, "loc": { "start": { "line": 50, "column": 33 }, "end": { "line": 50, "column": 39 }, "identifierName": "points" }, "name": "points" }, { "type": "Identifier", "start": 1847, "end": 1852, "loc": { "start": { "line": 50, "column": 41 }, "end": { "line": 50, "column": 46 }, "identifierName": "angle" }, "name": "angle" }, { "type": "Identifier", "start": 1854, "end": 1861, "loc": { "start": { "line": 50, "column": 48 }, "end": { "line": 50, "column": 55 }, "identifierName": "scale_x" }, "name": "scale_x" }, { "type": "Identifier", "start": 1863, "end": 1870, "loc": { "start": { "line": 50, "column": 57 }, "end": { "line": 50, "column": 64 }, "identifierName": "scale_y" }, "name": "scale_y" }, { "type": "Identifier", "start": 1872, "end": 1879, "loc": { "start": { "line": 50, "column": 66 }, "end": { "line": 50, "column": 73 }, "identifierName": "padding" }, "name": "padding" } ] } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 1885, "end": 1908, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 25 } }, "expression": { "type": "CallExpression", "start": 1885, "end": 1907, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 24 } }, "callee": { "type": "MemberExpression", "start": 1885, "end": 1901, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 18 } }, "object": { "type": "MemberExpression", "start": 1885, "end": 1894, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 11 } }, "object": { "type": "ThisExpression", "start": 1885, "end": 1889, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 6 } } }, "property": { "type": "Identifier", "start": 1890, "end": 1894, "loc": { "start": { "line": 52, "column": 7 }, "end": { "line": 52, "column": 11 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 1895, "end": 1901, "loc": { "start": { "line": 52, "column": 12 }, "end": { "line": 52, "column": 18 }, "identifierName": "insert" }, "name": "insert" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 1902, "end": 1906, "loc": { "start": { "line": 52, "column": 19 }, "end": { "line": 52, "column": 23 }, "identifierName": "body" }, "name": "body" } ] } }, { "type": "ReturnStatement", "start": 1912, "end": 1924, "loc": { "start": { "line": 54, "column": 2 }, "end": { "line": 54, "column": 14 } }, "argument": { "type": "Identifier", "start": 1919, "end": 1923, "loc": { "start": { "line": 54, "column": 9 }, "end": { "line": 54, "column": 13 }, "identifierName": "body" }, "name": "body" } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Polygon} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Array} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t * @param {Number} [angle = 0] The starting rotation in radians\n\t * @param {Number} [scale_x = 1] The starting scale along the X axis\n\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Polygon}\n\t ", "start": 1059, "end": 1705, "loc": { "start": { "line": 38, "column": 1 }, "end": { "line": 48, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Point} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Point}\n\t ", "start": 1930, "end": 2246, "loc": { "start": { "line": 57, "column": 1 }, "end": { "line": 63, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 2248, "end": 2375, "loc": { "start": { "line": 64, "column": 1 }, "end": { "line": 70, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 2248, "end": 2259, "loc": { "start": { "line": 64, "column": 1 }, "end": { "line": 64, "column": 12 }, "identifierName": "createPoint" }, "name": "createPoint", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "AssignmentPattern", "start": 2260, "end": 2265, "loc": { "start": { "line": 64, "column": 13 }, "end": { "line": 64, "column": 18 } }, "left": { "type": "Identifier", "start": 2260, "end": 2261, "loc": { "start": { "line": 64, "column": 13 }, "end": { "line": 64, "column": 14 }, "identifierName": "x" }, "name": "x" }, "right": { "type": "NumericLiteral", "start": 2264, "end": 2265, "loc": { "start": { "line": 64, "column": 17 }, "end": { "line": 64, "column": 18 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 2267, "end": 2272, "loc": { "start": { "line": 64, "column": 20 }, "end": { "line": 64, "column": 25 } }, "left": { "type": "Identifier", "start": 2267, "end": 2268, "loc": { "start": { "line": 64, "column": 20 }, "end": { "line": 64, "column": 21 }, "identifierName": "y" }, "name": "y" }, "right": { "type": "NumericLiteral", "start": 2271, "end": 2272, "loc": { "start": { "line": 64, "column": 24 }, "end": { "line": 64, "column": 25 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 2274, "end": 2285, "loc": { "start": { "line": 64, "column": 27 }, "end": { "line": 64, "column": 38 } }, "left": { "type": "Identifier", "start": 2274, "end": 2281, "loc": { "start": { "line": 64, "column": 27 }, "end": { "line": 64, "column": 34 }, "identifierName": "padding" }, "name": "padding" }, "right": { "type": "NumericLiteral", "start": 2284, "end": 2285, "loc": { "start": { "line": 64, "column": 37 }, "end": { "line": 64, "column": 38 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "body": { "type": "BlockStatement", "start": 2287, "end": 2375, "loc": { "start": { "line": 64, "column": 40 }, "end": { "line": 70, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 2291, "end": 2329, "loc": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": 40 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2297, "end": 2328, "loc": { "start": { "line": 65, "column": 8 }, "end": { "line": 65, "column": 39 } }, "id": { "type": "Identifier", "start": 2297, "end": 2301, "loc": { "start": { "line": 65, "column": 8 }, "end": { "line": 65, "column": 12 }, "identifierName": "body" }, "name": "body" }, "init": { "type": "NewExpression", "start": 2304, "end": 2328, "loc": { "start": { "line": 65, "column": 15 }, "end": { "line": 65, "column": 39 } }, "callee": { "type": "Identifier", "start": 2308, "end": 2313, "loc": { "start": { "line": 65, "column": 19 }, "end": { "line": 65, "column": 24 }, "identifierName": "Point" }, "name": "Point" }, "arguments": [ { "type": "Identifier", "start": 2314, "end": 2315, "loc": { "start": { "line": 65, "column": 25 }, "end": { "line": 65, "column": 26 }, "identifierName": "x" }, "name": "x" }, { "type": "Identifier", "start": 2317, "end": 2318, "loc": { "start": { "line": 65, "column": 28 }, "end": { "line": 65, "column": 29 }, "identifierName": "y" }, "name": "y" }, { "type": "Identifier", "start": 2320, "end": 2327, "loc": { "start": { "line": 65, "column": 31 }, "end": { "line": 65, "column": 38 }, "identifierName": "padding" }, "name": "padding" } ] } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 2333, "end": 2356, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 25 } }, "expression": { "type": "CallExpression", "start": 2333, "end": 2355, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 24 } }, "callee": { "type": "MemberExpression", "start": 2333, "end": 2349, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 18 } }, "object": { "type": "MemberExpression", "start": 2333, "end": 2342, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 11 } }, "object": { "type": "ThisExpression", "start": 2333, "end": 2337, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 6 } } }, "property": { "type": "Identifier", "start": 2338, "end": 2342, "loc": { "start": { "line": 67, "column": 7 }, "end": { "line": 67, "column": 11 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 2343, "end": 2349, "loc": { "start": { "line": 67, "column": 12 }, "end": { "line": 67, "column": 18 }, "identifierName": "insert" }, "name": "insert" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 2350, "end": 2354, "loc": { "start": { "line": 67, "column": 19 }, "end": { "line": 67, "column": 23 }, "identifierName": "body" }, "name": "body" } ] } }, { "type": "ReturnStatement", "start": 2360, "end": 2372, "loc": { "start": { "line": 69, "column": 2 }, "end": { "line": 69, "column": 14 } }, "argument": { "type": "Identifier", "start": 2367, "end": 2371, "loc": { "start": { "line": 69, "column": 9 }, "end": { "line": 69, "column": 13 }, "identifierName": "body" }, "name": "body" } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Point} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Point}\n\t ", "start": 1930, "end": 2246, "loc": { "start": { "line": 57, "column": 1 }, "end": { "line": 63, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t ", "start": 2378, "end": 2472, "loc": { "start": { "line": 72, "column": 1 }, "end": { "line": 74, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 2474, "end": 2516, "loc": { "start": { "line": 75, "column": 1 }, "end": { "line": 77, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 2474, "end": 2486, "loc": { "start": { "line": 75, "column": 1 }, "end": { "line": 75, "column": 13 }, "identifierName": "createResult" }, "name": "createResult", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 2489, "end": 2516, "loc": { "start": { "line": 75, "column": 16 }, "end": { "line": 77, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 2493, "end": 2513, "loc": { "start": { "line": 76, "column": 2 }, "end": { "line": 76, "column": 22 } }, "argument": { "type": "NewExpression", "start": 2500, "end": 2512, "loc": { "start": { "line": 76, "column": 9 }, "end": { "line": 76, "column": 21 } }, "callee": { "type": "Identifier", "start": 2504, "end": 2510, "loc": { "start": { "line": 76, "column": 13 }, "end": { "line": 76, "column": 19 }, "identifierName": "Result" }, "name": "Result" }, "arguments": [] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t ", "start": 2378, "end": 2472, "loc": { "start": { "line": 72, "column": 1 }, "end": { "line": 74, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a Result used to collect the detailed results of a collision test\n\t ", "start": 2519, "end": 2605, "loc": { "start": { "line": 79, "column": 1 }, "end": { "line": 81, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 2607, "end": 2656, "loc": { "start": { "line": 82, "column": 1 }, "end": { "line": 84, "column": 2 } }, "static": true, "computed": false, "key": { "type": "Identifier", "start": 2614, "end": 2626, "loc": { "start": { "line": 82, "column": 8 }, "end": { "line": 82, "column": 20 }, "identifierName": "createResult" }, "name": "createResult" }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 2629, "end": 2656, "loc": { "start": { "line": 82, "column": 23 }, "end": { "line": 84, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 2633, "end": 2653, "loc": { "start": { "line": 83, "column": 2 }, "end": { "line": 83, "column": 22 } }, "argument": { "type": "NewExpression", "start": 2640, "end": 2652, "loc": { "start": { "line": 83, "column": 9 }, "end": { "line": 83, "column": 21 } }, "callee": { "type": "Identifier", "start": 2644, "end": 2650, "loc": { "start": { "line": 83, "column": 13 }, "end": { "line": 83, "column": 19 }, "identifierName": "Result" }, "name": "Result" }, "arguments": [] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a Result used to collect the detailed results of a collision test\n\t ", "start": 2519, "end": 2605, "loc": { "start": { "line": 79, "column": 1 }, "end": { "line": 81, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Inserts bodies into the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t ", "start": 2659, "end": 2762, "loc": { "start": { "line": 86, "column": 1 }, "end": { "line": 89, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 2764, "end": 2870, "loc": { "start": { "line": 90, "column": 1 }, "end": { "line": 96, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 2764, "end": 2770, "loc": { "start": { "line": 90, "column": 1 }, "end": { "line": 90, "column": 7 }, "identifierName": "insert" }, "name": "insert", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "RestElement", "start": 2771, "end": 2780, "loc": { "start": { "line": 90, "column": 8 }, "end": { "line": 90, "column": 17 } }, "argument": { "type": "Identifier", "start": 2774, "end": 2780, "loc": { "start": { "line": 90, "column": 11 }, "end": { "line": 90, "column": 17 }, "identifierName": "bodies" }, "name": "bodies" } } ], "body": { "type": "BlockStatement", "start": 2782, "end": 2870, "loc": { "start": { "line": 90, "column": 19 }, "end": { "line": 96, "column": 2 } }, "body": [ { "type": "ForOfStatement", "start": 2786, "end": 2851, "loc": { "start": { "line": 91, "column": 2 }, "end": { "line": 93, "column": 3 } }, "left": { "type": "VariableDeclaration", "start": 2790, "end": 2800, "loc": { "start": { "line": 91, "column": 6 }, "end": { "line": 91, "column": 16 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2796, "end": 2800, "loc": { "start": { "line": 91, "column": 12 }, "end": { "line": 91, "column": 16 } }, "id": { "type": "Identifier", "start": 2796, "end": 2800, "loc": { "start": { "line": 91, "column": 12 }, "end": { "line": 91, "column": 16 }, "identifierName": "body" }, "name": "body" }, "init": null } ], "kind": "const" }, "right": { "type": "Identifier", "start": 2804, "end": 2810, "loc": { "start": { "line": 91, "column": 20 }, "end": { "line": 91, "column": 26 }, "identifierName": "bodies" }, "name": "bodies" }, "body": { "type": "BlockStatement", "start": 2812, "end": 2851, "loc": { "start": { "line": 91, "column": 28 }, "end": { "line": 93, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 2817, "end": 2847, "loc": { "start": { "line": 92, "column": 3 }, "end": { "line": 92, "column": 33 } }, "expression": { "type": "CallExpression", "start": 2817, "end": 2846, "loc": { "start": { "line": 92, "column": 3 }, "end": { "line": 92, "column": 32 } }, "callee": { "type": "MemberExpression", "start": 2817, "end": 2833, "loc": { "start": { "line": 92, "column": 3 }, "end": { "line": 92, "column": 19 } }, "object": { "type": "MemberExpression", "start": 2817, "end": 2826, "loc": { "start": { "line": 92, "column": 3 }, "end": { "line": 92, "column": 12 } }, "object": { "type": "ThisExpression", "start": 2817, "end": 2821, "loc": { "start": { "line": 92, "column": 3 }, "end": { "line": 92, "column": 7 } } }, "property": { "type": "Identifier", "start": 2822, "end": 2826, "loc": { "start": { "line": 92, "column": 8 }, "end": { "line": 92, "column": 12 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 2827, "end": 2833, "loc": { "start": { "line": 92, "column": 13 }, "end": { "line": 92, "column": 19 }, "identifierName": "insert" }, "name": "insert" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 2834, "end": 2838, "loc": { "start": { "line": 92, "column": 20 }, "end": { "line": 92, "column": 24 }, "identifierName": "body" }, "name": "body" }, { "type": "BooleanLiteral", "start": 2840, "end": 2845, "loc": { "start": { "line": 92, "column": 26 }, "end": { "line": 92, "column": 31 } }, "value": false } ] } } ], "directives": [] } }, { "type": "ReturnStatement", "start": 2855, "end": 2867, "loc": { "start": { "line": 95, "column": 2 }, "end": { "line": 95, "column": 14 } }, "argument": { "type": "ThisExpression", "start": 2862, "end": 2866, "loc": { "start": { "line": 95, "column": 9 }, "end": { "line": 95, "column": 13 } } } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Inserts bodies into the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t ", "start": 2659, "end": 2762, "loc": { "start": { "line": 86, "column": 1 }, "end": { "line": 89, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Removes bodies from the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t ", "start": 2873, "end": 2976, "loc": { "start": { "line": 98, "column": 1 }, "end": { "line": 101, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 2978, "end": 3084, "loc": { "start": { "line": 102, "column": 1 }, "end": { "line": 108, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 2978, "end": 2984, "loc": { "start": { "line": 102, "column": 1 }, "end": { "line": 102, "column": 7 }, "identifierName": "remove" }, "name": "remove", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "RestElement", "start": 2985, "end": 2994, "loc": { "start": { "line": 102, "column": 8 }, "end": { "line": 102, "column": 17 } }, "argument": { "type": "Identifier", "start": 2988, "end": 2994, "loc": { "start": { "line": 102, "column": 11 }, "end": { "line": 102, "column": 17 }, "identifierName": "bodies" }, "name": "bodies" } } ], "body": { "type": "BlockStatement", "start": 2996, "end": 3084, "loc": { "start": { "line": 102, "column": 19 }, "end": { "line": 108, "column": 2 } }, "body": [ { "type": "ForOfStatement", "start": 3000, "end": 3065, "loc": { "start": { "line": 103, "column": 2 }, "end": { "line": 105, "column": 3 } }, "left": { "type": "VariableDeclaration", "start": 3004, "end": 3014, "loc": { "start": { "line": 103, "column": 6 }, "end": { "line": 103, "column": 16 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3010, "end": 3014, "loc": { "start": { "line": 103, "column": 12 }, "end": { "line": 103, "column": 16 } }, "id": { "type": "Identifier", "start": 3010, "end": 3014, "loc": { "start": { "line": 103, "column": 12 }, "end": { "line": 103, "column": 16 }, "identifierName": "body" }, "name": "body" }, "init": null } ], "kind": "const" }, "right": { "type": "Identifier", "start": 3018, "end": 3024, "loc": { "start": { "line": 103, "column": 20 }, "end": { "line": 103, "column": 26 }, "identifierName": "bodies" }, "name": "bodies" }, "body": { "type": "BlockStatement", "start": 3026, "end": 3065, "loc": { "start": { "line": 103, "column": 28 }, "end": { "line": 105, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 3031, "end": 3061, "loc": { "start": { "line": 104, "column": 3 }, "end": { "line": 104, "column": 33 } }, "expression": { "type": "CallExpression", "start": 3031, "end": 3060, "loc": { "start": { "line": 104, "column": 3 }, "end": { "line": 104, "column": 32 } }, "callee": { "type": "MemberExpression", "start": 3031, "end": 3047, "loc": { "start": { "line": 104, "column": 3 }, "end": { "line": 104, "column": 19 } }, "object": { "type": "MemberExpression", "start": 3031, "end": 3040, "loc": { "start": { "line": 104, "column": 3 }, "end": { "line": 104, "column": 12 } }, "object": { "type": "ThisExpression", "start": 3031, "end": 3035, "loc": { "start": { "line": 104, "column": 3 }, "end": { "line": 104, "column": 7 } } }, "property": { "type": "Identifier", "start": 3036, "end": 3040, "loc": { "start": { "line": 104, "column": 8 }, "end": { "line": 104, "column": 12 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 3041, "end": 3047, "loc": { "start": { "line": 104, "column": 13 }, "end": { "line": 104, "column": 19 }, "identifierName": "remove" }, "name": "remove" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 3048, "end": 3052, "loc": { "start": { "line": 104, "column": 20 }, "end": { "line": 104, "column": 24 }, "identifierName": "body" }, "name": "body" }, { "type": "BooleanLiteral", "start": 3054, "end": 3059, "loc": { "start": { "line": 104, "column": 26 }, "end": { "line": 104, "column": 31 } }, "value": false } ] } } ], "directives": [] } }, { "type": "ReturnStatement", "start": 3069, "end": 3081, "loc": { "start": { "line": 107, "column": 2 }, "end": { "line": 107, "column": 14 } }, "argument": { "type": "ThisExpression", "start": 3076, "end": 3080, "loc": { "start": { "line": 107, "column": 9 }, "end": { "line": 107, "column": 13 } } } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Removes bodies from the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t ", "start": 2873, "end": 2976, "loc": { "start": { "line": 98, "column": 1 }, "end": { "line": 101, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Updates the collision system. This should be called before any collisions are tested.\n\t ", "start": 3087, "end": 3185, "loc": { "start": { "line": 110, "column": 1 }, "end": { "line": 112, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 3187, "end": 3238, "loc": { "start": { "line": 113, "column": 1 }, "end": { "line": 117, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 3187, "end": 3193, "loc": { "start": { "line": 113, "column": 1 }, "end": { "line": 113, "column": 7 }, "identifierName": "update" }, "name": "update", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 3196, "end": 3238, "loc": { "start": { "line": 113, "column": 10 }, "end": { "line": 117, "column": 2 } }, "body": [ { "type": "ExpressionStatement", "start": 3200, "end": 3219, "loc": { "start": { "line": 114, "column": 2 }, "end": { "line": 114, "column": 21 } }, "expression": { "type": "CallExpression", "start": 3200, "end": 3218, "loc": { "start": { "line": 114, "column": 2 }, "end": { "line": 114, "column": 20 } }, "callee": { "type": "MemberExpression", "start": 3200, "end": 3216, "loc": { "start": { "line": 114, "column": 2 }, "end": { "line": 114, "column": 18 } }, "object": { "type": "MemberExpression", "start": 3200, "end": 3209, "loc": { "start": { "line": 114, "column": 2 }, "end": { "line": 114, "column": 11 } }, "object": { "type": "ThisExpression", "start": 3200, "end": 3204, "loc": { "start": { "line": 114, "column": 2 }, "end": { "line": 114, "column": 6 } } }, "property": { "type": "Identifier", "start": 3205, "end": 3209, "loc": { "start": { "line": 114, "column": 7 }, "end": { "line": 114, "column": 11 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 3210, "end": 3216, "loc": { "start": { "line": 114, "column": 12 }, "end": { "line": 114, "column": 18 }, "identifierName": "update" }, "name": "update" }, "computed": false }, "arguments": [] } }, { "type": "ReturnStatement", "start": 3223, "end": 3235, "loc": { "start": { "line": 116, "column": 2 }, "end": { "line": 116, "column": 14 } }, "argument": { "type": "ThisExpression", "start": 3230, "end": 3234, "loc": { "start": { "line": 116, "column": 9 }, "end": { "line": 116, "column": 13 } } } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Updates the collision system. This should be called before any collisions are tested.\n\t ", "start": 3087, "end": 3185, "loc": { "start": { "line": 110, "column": 1 }, "end": { "line": 112, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Draws the bodies within the system to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 3241, "end": 3402, "loc": { "start": { "line": 119, "column": 1 }, "end": { "line": 122, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 3404, "end": 3456, "loc": { "start": { "line": 123, "column": 1 }, "end": { "line": 125, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 3404, "end": 3408, "loc": { "start": { "line": 123, "column": 1 }, "end": { "line": 123, "column": 5 }, "identifierName": "draw" }, "name": "draw", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 3409, "end": 3416, "loc": { "start": { "line": 123, "column": 6 }, "end": { "line": 123, "column": 13 }, "identifierName": "context" }, "name": "context" } ], "body": { "type": "BlockStatement", "start": 3418, "end": 3456, "loc": { "start": { "line": 123, "column": 15 }, "end": { "line": 125, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 3422, "end": 3453, "loc": { "start": { "line": 124, "column": 2 }, "end": { "line": 124, "column": 33 } }, "argument": { "type": "CallExpression", "start": 3429, "end": 3452, "loc": { "start": { "line": 124, "column": 9 }, "end": { "line": 124, "column": 32 } }, "callee": { "type": "MemberExpression", "start": 3429, "end": 3443, "loc": { "start": { "line": 124, "column": 9 }, "end": { "line": 124, "column": 23 } }, "object": { "type": "MemberExpression", "start": 3429, "end": 3438, "loc": { "start": { "line": 124, "column": 9 }, "end": { "line": 124, "column": 18 } }, "object": { "type": "ThisExpression", "start": 3429, "end": 3433, "loc": { "start": { "line": 124, "column": 9 }, "end": { "line": 124, "column": 13 } } }, "property": { "type": "Identifier", "start": 3434, "end": 3438, "loc": { "start": { "line": 124, "column": 14 }, "end": { "line": 124, "column": 18 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 3439, "end": 3443, "loc": { "start": { "line": 124, "column": 19 }, "end": { "line": 124, "column": 23 }, "identifierName": "draw" }, "name": "draw" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 3444, "end": 3451, "loc": { "start": { "line": 124, "column": 24 }, "end": { "line": 124, "column": 31 }, "identifierName": "context" }, "name": "context" } ] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Draws the bodies within the system to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 3241, "end": 3402, "loc": { "start": { "line": 119, "column": 1 }, "end": { "line": 122, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 3459, "end": 3677, "loc": { "start": { "line": 127, "column": 1 }, "end": { "line": 130, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 3679, "end": 3737, "loc": { "start": { "line": 131, "column": 1 }, "end": { "line": 133, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 3679, "end": 3686, "loc": { "start": { "line": 131, "column": 1 }, "end": { "line": 131, "column": 8 }, "identifierName": "drawBVH" }, "name": "drawBVH", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 3687, "end": 3694, "loc": { "start": { "line": 131, "column": 9 }, "end": { "line": 131, "column": 16 }, "identifierName": "context" }, "name": "context" } ], "body": { "type": "BlockStatement", "start": 3696, "end": 3737, "loc": { "start": { "line": 131, "column": 18 }, "end": { "line": 133, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 3700, "end": 3734, "loc": { "start": { "line": 132, "column": 2 }, "end": { "line": 132, "column": 36 } }, "argument": { "type": "CallExpression", "start": 3707, "end": 3733, "loc": { "start": { "line": 132, "column": 9 }, "end": { "line": 132, "column": 35 } }, "callee": { "type": "MemberExpression", "start": 3707, "end": 3724, "loc": { "start": { "line": 132, "column": 9 }, "end": { "line": 132, "column": 26 } }, "object": { "type": "MemberExpression", "start": 3707, "end": 3716, "loc": { "start": { "line": 132, "column": 9 }, "end": { "line": 132, "column": 18 } }, "object": { "type": "ThisExpression", "start": 3707, "end": 3711, "loc": { "start": { "line": 132, "column": 9 }, "end": { "line": 132, "column": 13 } } }, "property": { "type": "Identifier", "start": 3712, "end": 3716, "loc": { "start": { "line": 132, "column": 14 }, "end": { "line": 132, "column": 18 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 3717, "end": 3724, "loc": { "start": { "line": 132, "column": 19 }, "end": { "line": 132, "column": 26 }, "identifierName": "drawBVH" }, "name": "drawBVH" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 3725, "end": 3732, "loc": { "start": { "line": 132, "column": 27 }, "end": { "line": 132, "column": 34 }, "identifierName": "context" }, "name": "context" } ] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 3459, "end": 3677, "loc": { "start": { "line": 127, "column": 1 }, "end": { "line": 130, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test for potential collisions against\n\t * @returns {Array}\n\t ", "start": 3740, "end": 3918, "loc": { "start": { "line": 135, "column": 1 }, "end": { "line": 139, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 3920, "end": 3978, "loc": { "start": { "line": 140, "column": 1 }, "end": { "line": 142, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 3920, "end": 3930, "loc": { "start": { "line": 140, "column": 1 }, "end": { "line": 140, "column": 11 }, "identifierName": "potentials" }, "name": "potentials", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 3931, "end": 3935, "loc": { "start": { "line": 140, "column": 12 }, "end": { "line": 140, "column": 16 }, "identifierName": "body" }, "name": "body" } ], "body": { "type": "BlockStatement", "start": 3937, "end": 3978, "loc": { "start": { "line": 140, "column": 18 }, "end": { "line": 142, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 3941, "end": 3975, "loc": { "start": { "line": 141, "column": 2 }, "end": { "line": 141, "column": 36 } }, "argument": { "type": "CallExpression", "start": 3948, "end": 3974, "loc": { "start": { "line": 141, "column": 9 }, "end": { "line": 141, "column": 35 } }, "callee": { "type": "MemberExpression", "start": 3948, "end": 3968, "loc": { "start": { "line": 141, "column": 9 }, "end": { "line": 141, "column": 29 } }, "object": { "type": "MemberExpression", "start": 3948, "end": 3957, "loc": { "start": { "line": 141, "column": 9 }, "end": { "line": 141, "column": 18 } }, "object": { "type": "ThisExpression", "start": 3948, "end": 3952, "loc": { "start": { "line": 141, "column": 9 }, "end": { "line": 141, "column": 13 } } }, "property": { "type": "Identifier", "start": 3953, "end": 3957, "loc": { "start": { "line": 141, "column": 14 }, "end": { "line": 141, "column": 18 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 3958, "end": 3968, "loc": { "start": { "line": 141, "column": 19 }, "end": { "line": 141, "column": 29 }, "identifierName": "potentials" }, "name": "potentials" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 3969, "end": 3973, "loc": { "start": { "line": 141, "column": 30 }, "end": { "line": 141, "column": 34 }, "identifierName": "body" }, "name": "body" } ] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test for potential collisions against\n\t * @returns {Array}\n\t ", "start": 3740, "end": 3918, "loc": { "start": { "line": 135, "column": 1 }, "end": { "line": 139, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Determines if two bodies are colliding\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t ", "start": 3981, "end": 4359, "loc": { "start": { "line": 144, "column": 1 }, "end": { "line": 150, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 4361, "end": 4462, "loc": { "start": { "line": 151, "column": 1 }, "end": { "line": 153, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 4361, "end": 4369, "loc": { "start": { "line": 151, "column": 1 }, "end": { "line": 151, "column": 9 }, "identifierName": "collides" }, "name": "collides", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 4370, "end": 4376, "loc": { "start": { "line": 151, "column": 10 }, "end": { "line": 151, "column": 16 }, "identifierName": "source" }, "name": "source" }, { "type": "Identifier", "start": 4378, "end": 4384, "loc": { "start": { "line": 151, "column": 18 }, "end": { "line": 151, "column": 24 }, "identifierName": "target" }, "name": "target" }, { "type": "AssignmentPattern", "start": 4386, "end": 4399, "loc": { "start": { "line": 151, "column": 26 }, "end": { "line": 151, "column": 39 } }, "left": { "type": "Identifier", "start": 4386, "end": 4392, "loc": { "start": { "line": 151, "column": 26 }, "end": { "line": 151, "column": 32 }, "identifierName": "result" }, "name": "result" }, "right": { "type": "NullLiteral", "start": 4395, "end": 4399, "loc": { "start": { "line": 151, "column": 35 }, "end": { "line": 151, "column": 39 } } } }, { "type": "AssignmentPattern", "start": 4401, "end": 4412, "loc": { "start": { "line": 151, "column": 41 }, "end": { "line": 151, "column": 52 } }, "left": { "type": "Identifier", "start": 4401, "end": 4405, "loc": { "start": { "line": 151, "column": 41 }, "end": { "line": 151, "column": 45 }, "identifierName": "aabb" }, "name": "aabb" }, "right": { "type": "BooleanLiteral", "start": 4408, "end": 4412, "loc": { "start": { "line": 151, "column": 48 }, "end": { "line": 151, "column": 52 } }, "value": true } } ], "body": { "type": "BlockStatement", "start": 4414, "end": 4462, "loc": { "start": { "line": 151, "column": 54 }, "end": { "line": 153, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 4418, "end": 4459, "loc": { "start": { "line": 152, "column": 2 }, "end": { "line": 152, "column": 43 } }, "argument": { "type": "CallExpression", "start": 4425, "end": 4458, "loc": { "start": { "line": 152, "column": 9 }, "end": { "line": 152, "column": 42 } }, "callee": { "type": "Identifier", "start": 4425, "end": 4428, "loc": { "start": { "line": 152, "column": 9 }, "end": { "line": 152, "column": 12 }, "identifierName": "SAT" }, "name": "SAT" }, "arguments": [ { "type": "Identifier", "start": 4429, "end": 4435, "loc": { "start": { "line": 152, "column": 13 }, "end": { "line": 152, "column": 19 }, "identifierName": "source" }, "name": "source" }, { "type": "Identifier", "start": 4437, "end": 4443, "loc": { "start": { "line": 152, "column": 21 }, "end": { "line": 152, "column": 27 }, "identifierName": "target" }, "name": "target" }, { "type": "Identifier", "start": 4445, "end": 4451, "loc": { "start": { "line": 152, "column": 29 }, "end": { "line": 152, "column": 35 }, "identifierName": "result" }, "name": "result" }, { "type": "Identifier", "start": 4453, "end": 4457, "loc": { "start": { "line": 152, "column": 37 }, "end": { "line": 152, "column": 41 }, "identifierName": "aabb" }, "name": "aabb" } ] } } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Determines if two bodies are colliding\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t ", "start": 3981, "end": 4359, "loc": { "start": { "line": 144, "column": 1 }, "end": { "line": 150, "column": 4 } } } ] } ] }, "leadingComments": [], "name": "_", "trailingComments": [] }, { "type": "EmptyStatement", "start": 4464, "end": 4465, "loc": { "start": { "line": 154, "column": 1 }, "end": { "line": 154, "column": 2 } } }, { "type": "ExportNamedDeclaration", "start": 4467, "end": 4551, "loc": { "start": { "line": 156, "column": 0 }, "end": { "line": 163, "column": 2 } }, "declaration": null, "specifiers": [ { "type": "ExportSpecifier", "start": 4477, "end": 4498, "loc": { "start": { "line": 157, "column": 1 }, "end": { "line": 157, "column": 22 } }, "local": { "type": "Identifier", "start": 4477, "end": 4487, "loc": { "start": { "line": 157, "column": 1 }, "end": { "line": 157, "column": 11 }, "identifierName": "Collisions" }, "name": "Collisions" }, "exported": { "type": "Identifier", "start": 4491, "end": 4498, "loc": { "start": { "line": 157, "column": 15 }, "end": { "line": 157, "column": 22 }, "identifierName": "default" }, "name": "default" } }, { "type": "ExportSpecifier", "start": 4501, "end": 4511, "loc": { "start": { "line": 158, "column": 1 }, "end": { "line": 158, "column": 11 } }, "local": { "type": "Identifier", "start": 4501, "end": 4511, "loc": { "start": { "line": 158, "column": 1 }, "end": { "line": 158, "column": 11 }, "identifierName": "Collisions" }, "name": "Collisions" }, "exported": { "type": "Identifier", "start": 4501, "end": 4511, "loc": { "start": { "line": 158, "column": 1 }, "end": { "line": 158, "column": 11 }, "identifierName": "Collisions" }, "name": "Collisions" } }, { "type": "ExportSpecifier", "start": 4514, "end": 4520, "loc": { "start": { "line": 159, "column": 1 }, "end": { "line": 159, "column": 7 } }, "local": { "type": "Identifier", "start": 4514, "end": 4520, "loc": { "start": { "line": 159, "column": 1 }, "end": { "line": 159, "column": 7 }, "identifierName": "Result" }, "name": "Result" }, "exported": { "type": "Identifier", "start": 4514, "end": 4520, "loc": { "start": { "line": 159, "column": 1 }, "end": { "line": 159, "column": 7 }, "identifierName": "Result" }, "name": "Result" } }, { "type": "ExportSpecifier", "start": 4523, "end": 4529, "loc": { "start": { "line": 160, "column": 1 }, "end": { "line": 160, "column": 7 } }, "local": { "type": "Identifier", "start": 4523, "end": 4529, "loc": { "start": { "line": 160, "column": 1 }, "end": { "line": 160, "column": 7 }, "identifierName": "Circle" }, "name": "Circle" }, "exported": { "type": "Identifier", "start": 4523, "end": 4529, "loc": { "start": { "line": 160, "column": 1 }, "end": { "line": 160, "column": 7 }, "identifierName": "Circle" }, "name": "Circle" } }, { "type": "ExportSpecifier", "start": 4532, "end": 4539, "loc": { "start": { "line": 161, "column": 1 }, "end": { "line": 161, "column": 8 } }, "local": { "type": "Identifier", "start": 4532, "end": 4539, "loc": { "start": { "line": 161, "column": 1 }, "end": { "line": 161, "column": 8 }, "identifierName": "Polygon" }, "name": "Polygon" }, "exported": { "type": "Identifier", "start": 4532, "end": 4539, "loc": { "start": { "line": 161, "column": 1 }, "end": { "line": 161, "column": 8 }, "identifierName": "Polygon" }, "name": "Polygon" } }, { "type": "ExportSpecifier", "start": 4542, "end": 4547, "loc": { "start": { "line": 162, "column": 1 }, "end": { "line": 162, "column": 6 } }, "local": { "type": "Identifier", "start": 4542, "end": 4547, "loc": { "start": { "line": 162, "column": 1 }, "end": { "line": 162, "column": 6 }, "identifierName": "Point" }, "name": "Point" }, "exported": { "type": "Identifier", "start": 4542, "end": 4547, "loc": { "start": { "line": 162, "column": 1 }, "end": { "line": 162, "column": 6 }, "identifierName": "Point" }, "name": "Point" } } ], "source": null }, { "type": "ExportNamedDeclaration", "start": 4467, "end": 4551, "loc": { "start": { "line": 156, "column": 0 }, "end": { "line": 163, "column": 2 } }, "declaration": { "type": "ClassDeclaration", "start": 372, "end": 4464, "loc": { "start": { "line": 12, "column": 0 }, "end": { "line": 154, "column": 1 } }, "id": { "type": "Identifier", "start": 378, "end": 388, "loc": { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 16 }, "identifierName": "Collisions" }, "name": "Collisions", "leadingComments": null }, "superClass": null, "body": { "type": "ClassBody", "start": 389, "end": 4464, "loc": { "start": { "line": 12, "column": 17 }, "end": { "line": 154, "column": 1 } }, "body": [ { "type": "ClassMethod", "start": 419, "end": 480, "loc": { "start": { "line": 16, "column": 1 }, "end": { "line": 19, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 419, "end": 430, "loc": { "start": { "line": 16, "column": 1 }, "end": { "line": 16, "column": 12 }, "identifierName": "constructor" }, "name": "constructor", "leadingComments": null }, "kind": "constructor", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 433, "end": 480, "loc": { "start": { "line": 16, "column": 15 }, "end": { "line": 19, "column": 2 } }, "body": [ { "type": "ExpressionStatement", "start": 455, "end": 477, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 24 } }, "expression": { "type": "AssignmentExpression", "start": 455, "end": 476, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 23 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 455, "end": 464, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 11 } }, "object": { "type": "ThisExpression", "start": 455, "end": 459, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 460, "end": 464, "loc": { "start": { "line": 18, "column": 7 }, "end": { "line": 18, "column": 11 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false, "leadingComments": null }, "right": { "type": "NewExpression", "start": 467, "end": 476, "loc": { "start": { "line": 18, "column": 14 }, "end": { "line": 18, "column": 23 } }, "callee": { "type": "Identifier", "start": 471, "end": 474, "loc": { "start": { "line": 18, "column": 18 }, "end": { "line": 18, "column": 21 }, "identifierName": "BVH" }, "name": "BVH" }, "arguments": [] }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 437, "end": 452, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 17 } } } ] } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t ", "start": 392, "end": 417, "loc": { "start": { "line": 13, "column": 1 }, "end": { "line": 15, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Circle} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [radius = 0] The radius\n\t * @param {Number} [scale = 1] The scale\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Circle}\n\t ", "start": 483, "end": 887, "loc": { "start": { "line": 21, "column": 1 }, "end": { "line": 29, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 889, "end": 1056, "loc": { "start": { "line": 30, "column": 1 }, "end": { "line": 36, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 889, "end": 901, "loc": { "start": { "line": 30, "column": 1 }, "end": { "line": 30, "column": 13 }, "identifierName": "createCircle" }, "name": "createCircle", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "AssignmentPattern", "start": 902, "end": 907, "loc": { "start": { "line": 30, "column": 14 }, "end": { "line": 30, "column": 19 } }, "left": { "type": "Identifier", "start": 902, "end": 903, "loc": { "start": { "line": 30, "column": 14 }, "end": { "line": 30, "column": 15 }, "identifierName": "x" }, "name": "x" }, "right": { "type": "NumericLiteral", "start": 906, "end": 907, "loc": { "start": { "line": 30, "column": 18 }, "end": { "line": 30, "column": 19 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 909, "end": 914, "loc": { "start": { "line": 30, "column": 21 }, "end": { "line": 30, "column": 26 } }, "left": { "type": "Identifier", "start": 909, "end": 910, "loc": { "start": { "line": 30, "column": 21 }, "end": { "line": 30, "column": 22 }, "identifierName": "y" }, "name": "y" }, "right": { "type": "NumericLiteral", "start": 913, "end": 914, "loc": { "start": { "line": 30, "column": 25 }, "end": { "line": 30, "column": 26 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 916, "end": 926, "loc": { "start": { "line": 30, "column": 28 }, "end": { "line": 30, "column": 38 } }, "left": { "type": "Identifier", "start": 916, "end": 922, "loc": { "start": { "line": 30, "column": 28 }, "end": { "line": 30, "column": 34 }, "identifierName": "radius" }, "name": "radius" }, "right": { "type": "NumericLiteral", "start": 925, "end": 926, "loc": { "start": { "line": 30, "column": 37 }, "end": { "line": 30, "column": 38 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 928, "end": 937, "loc": { "start": { "line": 30, "column": 40 }, "end": { "line": 30, "column": 49 } }, "left": { "type": "Identifier", "start": 928, "end": 933, "loc": { "start": { "line": 30, "column": 40 }, "end": { "line": 30, "column": 45 }, "identifierName": "scale" }, "name": "scale" }, "right": { "type": "NumericLiteral", "start": 936, "end": 937, "loc": { "start": { "line": 30, "column": 48 }, "end": { "line": 30, "column": 49 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } }, { "type": "AssignmentPattern", "start": 939, "end": 950, "loc": { "start": { "line": 30, "column": 51 }, "end": { "line": 30, "column": 62 } }, "left": { "type": "Identifier", "start": 939, "end": 946, "loc": { "start": { "line": 30, "column": 51 }, "end": { "line": 30, "column": 58 }, "identifierName": "padding" }, "name": "padding" }, "right": { "type": "NumericLiteral", "start": 949, "end": 950, "loc": { "start": { "line": 30, "column": 61 }, "end": { "line": 30, "column": 62 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "body": { "type": "BlockStatement", "start": 952, "end": 1056, "loc": { "start": { "line": 30, "column": 64 }, "end": { "line": 36, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 956, "end": 1010, "loc": { "start": { "line": 31, "column": 2 }, "end": { "line": 31, "column": 56 } }, "declarations": [ { "type": "VariableDeclarator", "start": 962, "end": 1009, "loc": { "start": { "line": 31, "column": 8 }, "end": { "line": 31, "column": 55 } }, "id": { "type": "Identifier", "start": 962, "end": 966, "loc": { "start": { "line": 31, "column": 8 }, "end": { "line": 31, "column": 12 }, "identifierName": "body" }, "name": "body" }, "init": { "type": "NewExpression", "start": 969, "end": 1009, "loc": { "start": { "line": 31, "column": 15 }, "end": { "line": 31, "column": 55 } }, "callee": { "type": "Identifier", "start": 973, "end": 979, "loc": { "start": { "line": 31, "column": 19 }, "end": { "line": 31, "column": 25 }, "identifierName": "Circle" }, "name": "Circle" }, "arguments": [ { "type": "Identifier", "start": 980, "end": 981, "loc": { "start": { "line": 31, "column": 26 }, "end": { "line": 31, "column": 27 }, "identifierName": "x" }, "name": "x" }, { "type": "Identifier", "start": 983, "end": 984, "loc": { "start": { "line": 31, "column": 29 }, "end": { "line": 31, "column": 30 }, "identifierName": "y" }, "name": "y" }, { "type": "Identifier", "start": 986, "end": 992, "loc": { "start": { "line": 31, "column": 32 }, "end": { "line": 31, "column": 38 }, "identifierName": "radius" }, "name": "radius" }, { "type": "Identifier", "start": 994, "end": 999, "loc": { "start": { "line": 31, "column": 40 }, "end": { "line": 31, "column": 45 }, "identifierName": "scale" }, "name": "scale" }, { "type": "Identifier", "start": 1001, "end": 1008, "loc": { "start": { "line": 31, "column": 47 }, "end": { "line": 31, "column": 54 }, "identifierName": "padding" }, "name": "padding" } ] } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 1014, "end": 1037, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 33, "column": 25 } }, "expression": { "type": "CallExpression", "start": 1014, "end": 1036, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 33, "column": 24 } }, "callee": { "type": "MemberExpression", "start": 1014, "end": 1030, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 33, "column": 18 } }, "object": { "type": "MemberExpression", "start": 1014, "end": 1023, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 33, "column": 11 } }, "object": { "type": "ThisExpression", "start": 1014, "end": 1018, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 33, "column": 6 } } }, "property": { "type": "Identifier", "start": 1019, "end": 1023, "loc": { "start": { "line": 33, "column": 7 }, "end": { "line": 33, "column": 11 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 1024, "end": 1030, "loc": { "start": { "line": 33, "column": 12 }, "end": { "line": 33, "column": 18 }, "identifierName": "insert" }, "name": "insert" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 1031, "end": 1035, "loc": { "start": { "line": 33, "column": 19 }, "end": { "line": 33, "column": 23 }, "identifierName": "body" }, "name": "body" } ] } }, { "type": "ReturnStatement", "start": 1041, "end": 1053, "loc": { "start": { "line": 35, "column": 2 }, "end": { "line": 35, "column": 14 } }, "argument": { "type": "Identifier", "start": 1048, "end": 1052, "loc": { "start": { "line": 35, "column": 9 }, "end": { "line": 35, "column": 13 }, "identifierName": "body" }, "name": "body" } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Circle} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [radius = 0] The radius\n\t * @param {Number} [scale = 1] The scale\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Circle}\n\t ", "start": 483, "end": 887, "loc": { "start": { "line": 21, "column": 1 }, "end": { "line": 29, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Polygon} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Array} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t * @param {Number} [angle = 0] The starting rotation in radians\n\t * @param {Number} [scale_x = 1] The starting scale along the X axis\n\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Polygon}\n\t ", "start": 1059, "end": 1705, "loc": { "start": { "line": 38, "column": 1 }, "end": { "line": 48, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 1707, "end": 1927, "loc": { "start": { "line": 49, "column": 1 }, "end": { "line": 55, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 1707, "end": 1720, "loc": { "start": { "line": 49, "column": 1 }, "end": { "line": 49, "column": 14 }, "identifierName": "createPolygon" }, "name": "createPolygon", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "AssignmentPattern", "start": 1721, "end": 1726, "loc": { "start": { "line": 49, "column": 15 }, "end": { "line": 49, "column": 20 } }, "left": { "type": "Identifier", "start": 1721, "end": 1722, "loc": { "start": { "line": 49, "column": 15 }, "end": { "line": 49, "column": 16 }, "identifierName": "x" }, "name": "x" }, "right": { "type": "NumericLiteral", "start": 1725, "end": 1726, "loc": { "start": { "line": 49, "column": 19 }, "end": { "line": 49, "column": 20 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 1728, "end": 1733, "loc": { "start": { "line": 49, "column": 22 }, "end": { "line": 49, "column": 27 } }, "left": { "type": "Identifier", "start": 1728, "end": 1729, "loc": { "start": { "line": 49, "column": 22 }, "end": { "line": 49, "column": 23 }, "identifierName": "y" }, "name": "y" }, "right": { "type": "NumericLiteral", "start": 1732, "end": 1733, "loc": { "start": { "line": 49, "column": 26 }, "end": { "line": 49, "column": 27 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 1735, "end": 1752, "loc": { "start": { "line": 49, "column": 29 }, "end": { "line": 49, "column": 46 } }, "left": { "type": "Identifier", "start": 1735, "end": 1741, "loc": { "start": { "line": 49, "column": 29 }, "end": { "line": 49, "column": 35 }, "identifierName": "points" }, "name": "points" }, "right": { "type": "ArrayExpression", "start": 1744, "end": 1752, "loc": { "start": { "line": 49, "column": 38 }, "end": { "line": 49, "column": 46 } }, "elements": [ { "type": "ArrayExpression", "start": 1745, "end": 1751, "loc": { "start": { "line": 49, "column": 39 }, "end": { "line": 49, "column": 45 } }, "elements": [ { "type": "NumericLiteral", "start": 1746, "end": 1747, "loc": { "start": { "line": 49, "column": 40 }, "end": { "line": 49, "column": 41 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, { "type": "NumericLiteral", "start": 1749, "end": 1750, "loc": { "start": { "line": 49, "column": 43 }, "end": { "line": 49, "column": 44 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } ] } ] } }, { "type": "AssignmentPattern", "start": 1754, "end": 1763, "loc": { "start": { "line": 49, "column": 48 }, "end": { "line": 49, "column": 57 } }, "left": { "type": "Identifier", "start": 1754, "end": 1759, "loc": { "start": { "line": 49, "column": 48 }, "end": { "line": 49, "column": 53 }, "identifierName": "angle" }, "name": "angle" }, "right": { "type": "NumericLiteral", "start": 1762, "end": 1763, "loc": { "start": { "line": 49, "column": 56 }, "end": { "line": 49, "column": 57 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 1765, "end": 1776, "loc": { "start": { "line": 49, "column": 59 }, "end": { "line": 49, "column": 70 } }, "left": { "type": "Identifier", "start": 1765, "end": 1772, "loc": { "start": { "line": 49, "column": 59 }, "end": { "line": 49, "column": 66 }, "identifierName": "scale_x" }, "name": "scale_x" }, "right": { "type": "NumericLiteral", "start": 1775, "end": 1776, "loc": { "start": { "line": 49, "column": 69 }, "end": { "line": 49, "column": 70 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } }, { "type": "AssignmentPattern", "start": 1778, "end": 1789, "loc": { "start": { "line": 49, "column": 72 }, "end": { "line": 49, "column": 83 } }, "left": { "type": "Identifier", "start": 1778, "end": 1785, "loc": { "start": { "line": 49, "column": 72 }, "end": { "line": 49, "column": 79 }, "identifierName": "scale_y" }, "name": "scale_y" }, "right": { "type": "NumericLiteral", "start": 1788, "end": 1789, "loc": { "start": { "line": 49, "column": 82 }, "end": { "line": 49, "column": 83 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } }, { "type": "AssignmentPattern", "start": 1791, "end": 1802, "loc": { "start": { "line": 49, "column": 85 }, "end": { "line": 49, "column": 96 } }, "left": { "type": "Identifier", "start": 1791, "end": 1798, "loc": { "start": { "line": 49, "column": 85 }, "end": { "line": 49, "column": 92 }, "identifierName": "padding" }, "name": "padding" }, "right": { "type": "NumericLiteral", "start": 1801, "end": 1802, "loc": { "start": { "line": 49, "column": 95 }, "end": { "line": 49, "column": 96 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "body": { "type": "BlockStatement", "start": 1804, "end": 1927, "loc": { "start": { "line": 49, "column": 98 }, "end": { "line": 55, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 1808, "end": 1881, "loc": { "start": { "line": 50, "column": 2 }, "end": { "line": 50, "column": 75 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1814, "end": 1880, "loc": { "start": { "line": 50, "column": 8 }, "end": { "line": 50, "column": 74 } }, "id": { "type": "Identifier", "start": 1814, "end": 1818, "loc": { "start": { "line": 50, "column": 8 }, "end": { "line": 50, "column": 12 }, "identifierName": "body" }, "name": "body" }, "init": { "type": "NewExpression", "start": 1821, "end": 1880, "loc": { "start": { "line": 50, "column": 15 }, "end": { "line": 50, "column": 74 } }, "callee": { "type": "Identifier", "start": 1825, "end": 1832, "loc": { "start": { "line": 50, "column": 19 }, "end": { "line": 50, "column": 26 }, "identifierName": "Polygon" }, "name": "Polygon" }, "arguments": [ { "type": "Identifier", "start": 1833, "end": 1834, "loc": { "start": { "line": 50, "column": 27 }, "end": { "line": 50, "column": 28 }, "identifierName": "x" }, "name": "x" }, { "type": "Identifier", "start": 1836, "end": 1837, "loc": { "start": { "line": 50, "column": 30 }, "end": { "line": 50, "column": 31 }, "identifierName": "y" }, "name": "y" }, { "type": "Identifier", "start": 1839, "end": 1845, "loc": { "start": { "line": 50, "column": 33 }, "end": { "line": 50, "column": 39 }, "identifierName": "points" }, "name": "points" }, { "type": "Identifier", "start": 1847, "end": 1852, "loc": { "start": { "line": 50, "column": 41 }, "end": { "line": 50, "column": 46 }, "identifierName": "angle" }, "name": "angle" }, { "type": "Identifier", "start": 1854, "end": 1861, "loc": { "start": { "line": 50, "column": 48 }, "end": { "line": 50, "column": 55 }, "identifierName": "scale_x" }, "name": "scale_x" }, { "type": "Identifier", "start": 1863, "end": 1870, "loc": { "start": { "line": 50, "column": 57 }, "end": { "line": 50, "column": 64 }, "identifierName": "scale_y" }, "name": "scale_y" }, { "type": "Identifier", "start": 1872, "end": 1879, "loc": { "start": { "line": 50, "column": 66 }, "end": { "line": 50, "column": 73 }, "identifierName": "padding" }, "name": "padding" } ] } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 1885, "end": 1908, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 25 } }, "expression": { "type": "CallExpression", "start": 1885, "end": 1907, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 24 } }, "callee": { "type": "MemberExpression", "start": 1885, "end": 1901, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 18 } }, "object": { "type": "MemberExpression", "start": 1885, "end": 1894, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 11 } }, "object": { "type": "ThisExpression", "start": 1885, "end": 1889, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 6 } } }, "property": { "type": "Identifier", "start": 1890, "end": 1894, "loc": { "start": { "line": 52, "column": 7 }, "end": { "line": 52, "column": 11 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 1895, "end": 1901, "loc": { "start": { "line": 52, "column": 12 }, "end": { "line": 52, "column": 18 }, "identifierName": "insert" }, "name": "insert" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 1902, "end": 1906, "loc": { "start": { "line": 52, "column": 19 }, "end": { "line": 52, "column": 23 }, "identifierName": "body" }, "name": "body" } ] } }, { "type": "ReturnStatement", "start": 1912, "end": 1924, "loc": { "start": { "line": 54, "column": 2 }, "end": { "line": 54, "column": 14 } }, "argument": { "type": "Identifier", "start": 1919, "end": 1923, "loc": { "start": { "line": 54, "column": 9 }, "end": { "line": 54, "column": 13 }, "identifierName": "body" }, "name": "body" } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Polygon} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Array} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t * @param {Number} [angle = 0] The starting rotation in radians\n\t * @param {Number} [scale_x = 1] The starting scale along the X axis\n\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Polygon}\n\t ", "start": 1059, "end": 1705, "loc": { "start": { "line": 38, "column": 1 }, "end": { "line": 48, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Point} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Point}\n\t ", "start": 1930, "end": 2246, "loc": { "start": { "line": 57, "column": 1 }, "end": { "line": 63, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 2248, "end": 2375, "loc": { "start": { "line": 64, "column": 1 }, "end": { "line": 70, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 2248, "end": 2259, "loc": { "start": { "line": 64, "column": 1 }, "end": { "line": 64, "column": 12 }, "identifierName": "createPoint" }, "name": "createPoint", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "AssignmentPattern", "start": 2260, "end": 2265, "loc": { "start": { "line": 64, "column": 13 }, "end": { "line": 64, "column": 18 } }, "left": { "type": "Identifier", "start": 2260, "end": 2261, "loc": { "start": { "line": 64, "column": 13 }, "end": { "line": 64, "column": 14 }, "identifierName": "x" }, "name": "x" }, "right": { "type": "NumericLiteral", "start": 2264, "end": 2265, "loc": { "start": { "line": 64, "column": 17 }, "end": { "line": 64, "column": 18 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 2267, "end": 2272, "loc": { "start": { "line": 64, "column": 20 }, "end": { "line": 64, "column": 25 } }, "left": { "type": "Identifier", "start": 2267, "end": 2268, "loc": { "start": { "line": 64, "column": 20 }, "end": { "line": 64, "column": 21 }, "identifierName": "y" }, "name": "y" }, "right": { "type": "NumericLiteral", "start": 2271, "end": 2272, "loc": { "start": { "line": 64, "column": 24 }, "end": { "line": 64, "column": 25 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 2274, "end": 2285, "loc": { "start": { "line": 64, "column": 27 }, "end": { "line": 64, "column": 38 } }, "left": { "type": "Identifier", "start": 2274, "end": 2281, "loc": { "start": { "line": 64, "column": 27 }, "end": { "line": 64, "column": 34 }, "identifierName": "padding" }, "name": "padding" }, "right": { "type": "NumericLiteral", "start": 2284, "end": 2285, "loc": { "start": { "line": 64, "column": 37 }, "end": { "line": 64, "column": 38 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "body": { "type": "BlockStatement", "start": 2287, "end": 2375, "loc": { "start": { "line": 64, "column": 40 }, "end": { "line": 70, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 2291, "end": 2329, "loc": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": 40 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2297, "end": 2328, "loc": { "start": { "line": 65, "column": 8 }, "end": { "line": 65, "column": 39 } }, "id": { "type": "Identifier", "start": 2297, "end": 2301, "loc": { "start": { "line": 65, "column": 8 }, "end": { "line": 65, "column": 12 }, "identifierName": "body" }, "name": "body" }, "init": { "type": "NewExpression", "start": 2304, "end": 2328, "loc": { "start": { "line": 65, "column": 15 }, "end": { "line": 65, "column": 39 } }, "callee": { "type": "Identifier", "start": 2308, "end": 2313, "loc": { "start": { "line": 65, "column": 19 }, "end": { "line": 65, "column": 24 }, "identifierName": "Point" }, "name": "Point" }, "arguments": [ { "type": "Identifier", "start": 2314, "end": 2315, "loc": { "start": { "line": 65, "column": 25 }, "end": { "line": 65, "column": 26 }, "identifierName": "x" }, "name": "x" }, { "type": "Identifier", "start": 2317, "end": 2318, "loc": { "start": { "line": 65, "column": 28 }, "end": { "line": 65, "column": 29 }, "identifierName": "y" }, "name": "y" }, { "type": "Identifier", "start": 2320, "end": 2327, "loc": { "start": { "line": 65, "column": 31 }, "end": { "line": 65, "column": 38 }, "identifierName": "padding" }, "name": "padding" } ] } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 2333, "end": 2356, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 25 } }, "expression": { "type": "CallExpression", "start": 2333, "end": 2355, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 24 } }, "callee": { "type": "MemberExpression", "start": 2333, "end": 2349, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 18 } }, "object": { "type": "MemberExpression", "start": 2333, "end": 2342, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 11 } }, "object": { "type": "ThisExpression", "start": 2333, "end": 2337, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 6 } } }, "property": { "type": "Identifier", "start": 2338, "end": 2342, "loc": { "start": { "line": 67, "column": 7 }, "end": { "line": 67, "column": 11 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 2343, "end": 2349, "loc": { "start": { "line": 67, "column": 12 }, "end": { "line": 67, "column": 18 }, "identifierName": "insert" }, "name": "insert" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 2350, "end": 2354, "loc": { "start": { "line": 67, "column": 19 }, "end": { "line": 67, "column": 23 }, "identifierName": "body" }, "name": "body" } ] } }, { "type": "ReturnStatement", "start": 2360, "end": 2372, "loc": { "start": { "line": 69, "column": 2 }, "end": { "line": 69, "column": 14 } }, "argument": { "type": "Identifier", "start": 2367, "end": 2371, "loc": { "start": { "line": 69, "column": 9 }, "end": { "line": 69, "column": 13 }, "identifierName": "body" }, "name": "body" } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Point} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Point}\n\t ", "start": 1930, "end": 2246, "loc": { "start": { "line": 57, "column": 1 }, "end": { "line": 63, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t ", "start": 2378, "end": 2472, "loc": { "start": { "line": 72, "column": 1 }, "end": { "line": 74, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 2474, "end": 2516, "loc": { "start": { "line": 75, "column": 1 }, "end": { "line": 77, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 2474, "end": 2486, "loc": { "start": { "line": 75, "column": 1 }, "end": { "line": 75, "column": 13 }, "identifierName": "createResult" }, "name": "createResult", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 2489, "end": 2516, "loc": { "start": { "line": 75, "column": 16 }, "end": { "line": 77, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 2493, "end": 2513, "loc": { "start": { "line": 76, "column": 2 }, "end": { "line": 76, "column": 22 } }, "argument": { "type": "NewExpression", "start": 2500, "end": 2512, "loc": { "start": { "line": 76, "column": 9 }, "end": { "line": 76, "column": 21 } }, "callee": { "type": "Identifier", "start": 2504, "end": 2510, "loc": { "start": { "line": 76, "column": 13 }, "end": { "line": 76, "column": 19 }, "identifierName": "Result" }, "name": "Result" }, "arguments": [] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t ", "start": 2378, "end": 2472, "loc": { "start": { "line": 72, "column": 1 }, "end": { "line": 74, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a Result used to collect the detailed results of a collision test\n\t ", "start": 2519, "end": 2605, "loc": { "start": { "line": 79, "column": 1 }, "end": { "line": 81, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 2607, "end": 2656, "loc": { "start": { "line": 82, "column": 1 }, "end": { "line": 84, "column": 2 } }, "static": true, "computed": false, "key": { "type": "Identifier", "start": 2614, "end": 2626, "loc": { "start": { "line": 82, "column": 8 }, "end": { "line": 82, "column": 20 }, "identifierName": "createResult" }, "name": "createResult" }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 2629, "end": 2656, "loc": { "start": { "line": 82, "column": 23 }, "end": { "line": 84, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 2633, "end": 2653, "loc": { "start": { "line": 83, "column": 2 }, "end": { "line": 83, "column": 22 } }, "argument": { "type": "NewExpression", "start": 2640, "end": 2652, "loc": { "start": { "line": 83, "column": 9 }, "end": { "line": 83, "column": 21 } }, "callee": { "type": "Identifier", "start": 2644, "end": 2650, "loc": { "start": { "line": 83, "column": 13 }, "end": { "line": 83, "column": 19 }, "identifierName": "Result" }, "name": "Result" }, "arguments": [] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a Result used to collect the detailed results of a collision test\n\t ", "start": 2519, "end": 2605, "loc": { "start": { "line": 79, "column": 1 }, "end": { "line": 81, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Inserts bodies into the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t ", "start": 2659, "end": 2762, "loc": { "start": { "line": 86, "column": 1 }, "end": { "line": 89, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 2764, "end": 2870, "loc": { "start": { "line": 90, "column": 1 }, "end": { "line": 96, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 2764, "end": 2770, "loc": { "start": { "line": 90, "column": 1 }, "end": { "line": 90, "column": 7 }, "identifierName": "insert" }, "name": "insert", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "RestElement", "start": 2771, "end": 2780, "loc": { "start": { "line": 90, "column": 8 }, "end": { "line": 90, "column": 17 } }, "argument": { "type": "Identifier", "start": 2774, "end": 2780, "loc": { "start": { "line": 90, "column": 11 }, "end": { "line": 90, "column": 17 }, "identifierName": "bodies" }, "name": "bodies" } } ], "body": { "type": "BlockStatement", "start": 2782, "end": 2870, "loc": { "start": { "line": 90, "column": 19 }, "end": { "line": 96, "column": 2 } }, "body": [ { "type": "ForOfStatement", "start": 2786, "end": 2851, "loc": { "start": { "line": 91, "column": 2 }, "end": { "line": 93, "column": 3 } }, "left": { "type": "VariableDeclaration", "start": 2790, "end": 2800, "loc": { "start": { "line": 91, "column": 6 }, "end": { "line": 91, "column": 16 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2796, "end": 2800, "loc": { "start": { "line": 91, "column": 12 }, "end": { "line": 91, "column": 16 } }, "id": { "type": "Identifier", "start": 2796, "end": 2800, "loc": { "start": { "line": 91, "column": 12 }, "end": { "line": 91, "column": 16 }, "identifierName": "body" }, "name": "body" }, "init": null } ], "kind": "const" }, "right": { "type": "Identifier", "start": 2804, "end": 2810, "loc": { "start": { "line": 91, "column": 20 }, "end": { "line": 91, "column": 26 }, "identifierName": "bodies" }, "name": "bodies" }, "body": { "type": "BlockStatement", "start": 2812, "end": 2851, "loc": { "start": { "line": 91, "column": 28 }, "end": { "line": 93, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 2817, "end": 2847, "loc": { "start": { "line": 92, "column": 3 }, "end": { "line": 92, "column": 33 } }, "expression": { "type": "CallExpression", "start": 2817, "end": 2846, "loc": { "start": { "line": 92, "column": 3 }, "end": { "line": 92, "column": 32 } }, "callee": { "type": "MemberExpression", "start": 2817, "end": 2833, "loc": { "start": { "line": 92, "column": 3 }, "end": { "line": 92, "column": 19 } }, "object": { "type": "MemberExpression", "start": 2817, "end": 2826, "loc": { "start": { "line": 92, "column": 3 }, "end": { "line": 92, "column": 12 } }, "object": { "type": "ThisExpression", "start": 2817, "end": 2821, "loc": { "start": { "line": 92, "column": 3 }, "end": { "line": 92, "column": 7 } } }, "property": { "type": "Identifier", "start": 2822, "end": 2826, "loc": { "start": { "line": 92, "column": 8 }, "end": { "line": 92, "column": 12 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 2827, "end": 2833, "loc": { "start": { "line": 92, "column": 13 }, "end": { "line": 92, "column": 19 }, "identifierName": "insert" }, "name": "insert" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 2834, "end": 2838, "loc": { "start": { "line": 92, "column": 20 }, "end": { "line": 92, "column": 24 }, "identifierName": "body" }, "name": "body" }, { "type": "BooleanLiteral", "start": 2840, "end": 2845, "loc": { "start": { "line": 92, "column": 26 }, "end": { "line": 92, "column": 31 } }, "value": false } ] } } ], "directives": [] } }, { "type": "ReturnStatement", "start": 2855, "end": 2867, "loc": { "start": { "line": 95, "column": 2 }, "end": { "line": 95, "column": 14 } }, "argument": { "type": "ThisExpression", "start": 2862, "end": 2866, "loc": { "start": { "line": 95, "column": 9 }, "end": { "line": 95, "column": 13 } } } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Inserts bodies into the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t ", "start": 2659, "end": 2762, "loc": { "start": { "line": 86, "column": 1 }, "end": { "line": 89, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Removes bodies from the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t ", "start": 2873, "end": 2976, "loc": { "start": { "line": 98, "column": 1 }, "end": { "line": 101, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 2978, "end": 3084, "loc": { "start": { "line": 102, "column": 1 }, "end": { "line": 108, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 2978, "end": 2984, "loc": { "start": { "line": 102, "column": 1 }, "end": { "line": 102, "column": 7 }, "identifierName": "remove" }, "name": "remove", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "RestElement", "start": 2985, "end": 2994, "loc": { "start": { "line": 102, "column": 8 }, "end": { "line": 102, "column": 17 } }, "argument": { "type": "Identifier", "start": 2988, "end": 2994, "loc": { "start": { "line": 102, "column": 11 }, "end": { "line": 102, "column": 17 }, "identifierName": "bodies" }, "name": "bodies" } } ], "body": { "type": "BlockStatement", "start": 2996, "end": 3084, "loc": { "start": { "line": 102, "column": 19 }, "end": { "line": 108, "column": 2 } }, "body": [ { "type": "ForOfStatement", "start": 3000, "end": 3065, "loc": { "start": { "line": 103, "column": 2 }, "end": { "line": 105, "column": 3 } }, "left": { "type": "VariableDeclaration", "start": 3004, "end": 3014, "loc": { "start": { "line": 103, "column": 6 }, "end": { "line": 103, "column": 16 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3010, "end": 3014, "loc": { "start": { "line": 103, "column": 12 }, "end": { "line": 103, "column": 16 } }, "id": { "type": "Identifier", "start": 3010, "end": 3014, "loc": { "start": { "line": 103, "column": 12 }, "end": { "line": 103, "column": 16 }, "identifierName": "body" }, "name": "body" }, "init": null } ], "kind": "const" }, "right": { "type": "Identifier", "start": 3018, "end": 3024, "loc": { "start": { "line": 103, "column": 20 }, "end": { "line": 103, "column": 26 }, "identifierName": "bodies" }, "name": "bodies" }, "body": { "type": "BlockStatement", "start": 3026, "end": 3065, "loc": { "start": { "line": 103, "column": 28 }, "end": { "line": 105, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 3031, "end": 3061, "loc": { "start": { "line": 104, "column": 3 }, "end": { "line": 104, "column": 33 } }, "expression": { "type": "CallExpression", "start": 3031, "end": 3060, "loc": { "start": { "line": 104, "column": 3 }, "end": { "line": 104, "column": 32 } }, "callee": { "type": "MemberExpression", "start": 3031, "end": 3047, "loc": { "start": { "line": 104, "column": 3 }, "end": { "line": 104, "column": 19 } }, "object": { "type": "MemberExpression", "start": 3031, "end": 3040, "loc": { "start": { "line": 104, "column": 3 }, "end": { "line": 104, "column": 12 } }, "object": { "type": "ThisExpression", "start": 3031, "end": 3035, "loc": { "start": { "line": 104, "column": 3 }, "end": { "line": 104, "column": 7 } } }, "property": { "type": "Identifier", "start": 3036, "end": 3040, "loc": { "start": { "line": 104, "column": 8 }, "end": { "line": 104, "column": 12 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 3041, "end": 3047, "loc": { "start": { "line": 104, "column": 13 }, "end": { "line": 104, "column": 19 }, "identifierName": "remove" }, "name": "remove" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 3048, "end": 3052, "loc": { "start": { "line": 104, "column": 20 }, "end": { "line": 104, "column": 24 }, "identifierName": "body" }, "name": "body" }, { "type": "BooleanLiteral", "start": 3054, "end": 3059, "loc": { "start": { "line": 104, "column": 26 }, "end": { "line": 104, "column": 31 } }, "value": false } ] } } ], "directives": [] } }, { "type": "ReturnStatement", "start": 3069, "end": 3081, "loc": { "start": { "line": 107, "column": 2 }, "end": { "line": 107, "column": 14 } }, "argument": { "type": "ThisExpression", "start": 3076, "end": 3080, "loc": { "start": { "line": 107, "column": 9 }, "end": { "line": 107, "column": 13 } } } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Removes bodies from the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t ", "start": 2873, "end": 2976, "loc": { "start": { "line": 98, "column": 1 }, "end": { "line": 101, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Updates the collision system. This should be called before any collisions are tested.\n\t ", "start": 3087, "end": 3185, "loc": { "start": { "line": 110, "column": 1 }, "end": { "line": 112, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 3187, "end": 3238, "loc": { "start": { "line": 113, "column": 1 }, "end": { "line": 117, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 3187, "end": 3193, "loc": { "start": { "line": 113, "column": 1 }, "end": { "line": 113, "column": 7 }, "identifierName": "update" }, "name": "update", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 3196, "end": 3238, "loc": { "start": { "line": 113, "column": 10 }, "end": { "line": 117, "column": 2 } }, "body": [ { "type": "ExpressionStatement", "start": 3200, "end": 3219, "loc": { "start": { "line": 114, "column": 2 }, "end": { "line": 114, "column": 21 } }, "expression": { "type": "CallExpression", "start": 3200, "end": 3218, "loc": { "start": { "line": 114, "column": 2 }, "end": { "line": 114, "column": 20 } }, "callee": { "type": "MemberExpression", "start": 3200, "end": 3216, "loc": { "start": { "line": 114, "column": 2 }, "end": { "line": 114, "column": 18 } }, "object": { "type": "MemberExpression", "start": 3200, "end": 3209, "loc": { "start": { "line": 114, "column": 2 }, "end": { "line": 114, "column": 11 } }, "object": { "type": "ThisExpression", "start": 3200, "end": 3204, "loc": { "start": { "line": 114, "column": 2 }, "end": { "line": 114, "column": 6 } } }, "property": { "type": "Identifier", "start": 3205, "end": 3209, "loc": { "start": { "line": 114, "column": 7 }, "end": { "line": 114, "column": 11 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 3210, "end": 3216, "loc": { "start": { "line": 114, "column": 12 }, "end": { "line": 114, "column": 18 }, "identifierName": "update" }, "name": "update" }, "computed": false }, "arguments": [] } }, { "type": "ReturnStatement", "start": 3223, "end": 3235, "loc": { "start": { "line": 116, "column": 2 }, "end": { "line": 116, "column": 14 } }, "argument": { "type": "ThisExpression", "start": 3230, "end": 3234, "loc": { "start": { "line": 116, "column": 9 }, "end": { "line": 116, "column": 13 } } } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Updates the collision system. This should be called before any collisions are tested.\n\t ", "start": 3087, "end": 3185, "loc": { "start": { "line": 110, "column": 1 }, "end": { "line": 112, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Draws the bodies within the system to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 3241, "end": 3402, "loc": { "start": { "line": 119, "column": 1 }, "end": { "line": 122, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 3404, "end": 3456, "loc": { "start": { "line": 123, "column": 1 }, "end": { "line": 125, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 3404, "end": 3408, "loc": { "start": { "line": 123, "column": 1 }, "end": { "line": 123, "column": 5 }, "identifierName": "draw" }, "name": "draw", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 3409, "end": 3416, "loc": { "start": { "line": 123, "column": 6 }, "end": { "line": 123, "column": 13 }, "identifierName": "context" }, "name": "context" } ], "body": { "type": "BlockStatement", "start": 3418, "end": 3456, "loc": { "start": { "line": 123, "column": 15 }, "end": { "line": 125, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 3422, "end": 3453, "loc": { "start": { "line": 124, "column": 2 }, "end": { "line": 124, "column": 33 } }, "argument": { "type": "CallExpression", "start": 3429, "end": 3452, "loc": { "start": { "line": 124, "column": 9 }, "end": { "line": 124, "column": 32 } }, "callee": { "type": "MemberExpression", "start": 3429, "end": 3443, "loc": { "start": { "line": 124, "column": 9 }, "end": { "line": 124, "column": 23 } }, "object": { "type": "MemberExpression", "start": 3429, "end": 3438, "loc": { "start": { "line": 124, "column": 9 }, "end": { "line": 124, "column": 18 } }, "object": { "type": "ThisExpression", "start": 3429, "end": 3433, "loc": { "start": { "line": 124, "column": 9 }, "end": { "line": 124, "column": 13 } } }, "property": { "type": "Identifier", "start": 3434, "end": 3438, "loc": { "start": { "line": 124, "column": 14 }, "end": { "line": 124, "column": 18 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 3439, "end": 3443, "loc": { "start": { "line": 124, "column": 19 }, "end": { "line": 124, "column": 23 }, "identifierName": "draw" }, "name": "draw" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 3444, "end": 3451, "loc": { "start": { "line": 124, "column": 24 }, "end": { "line": 124, "column": 31 }, "identifierName": "context" }, "name": "context" } ] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Draws the bodies within the system to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 3241, "end": 3402, "loc": { "start": { "line": 119, "column": 1 }, "end": { "line": 122, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 3459, "end": 3677, "loc": { "start": { "line": 127, "column": 1 }, "end": { "line": 130, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 3679, "end": 3737, "loc": { "start": { "line": 131, "column": 1 }, "end": { "line": 133, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 3679, "end": 3686, "loc": { "start": { "line": 131, "column": 1 }, "end": { "line": 131, "column": 8 }, "identifierName": "drawBVH" }, "name": "drawBVH", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 3687, "end": 3694, "loc": { "start": { "line": 131, "column": 9 }, "end": { "line": 131, "column": 16 }, "identifierName": "context" }, "name": "context" } ], "body": { "type": "BlockStatement", "start": 3696, "end": 3737, "loc": { "start": { "line": 131, "column": 18 }, "end": { "line": 133, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 3700, "end": 3734, "loc": { "start": { "line": 132, "column": 2 }, "end": { "line": 132, "column": 36 } }, "argument": { "type": "CallExpression", "start": 3707, "end": 3733, "loc": { "start": { "line": 132, "column": 9 }, "end": { "line": 132, "column": 35 } }, "callee": { "type": "MemberExpression", "start": 3707, "end": 3724, "loc": { "start": { "line": 132, "column": 9 }, "end": { "line": 132, "column": 26 } }, "object": { "type": "MemberExpression", "start": 3707, "end": 3716, "loc": { "start": { "line": 132, "column": 9 }, "end": { "line": 132, "column": 18 } }, "object": { "type": "ThisExpression", "start": 3707, "end": 3711, "loc": { "start": { "line": 132, "column": 9 }, "end": { "line": 132, "column": 13 } } }, "property": { "type": "Identifier", "start": 3712, "end": 3716, "loc": { "start": { "line": 132, "column": 14 }, "end": { "line": 132, "column": 18 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 3717, "end": 3724, "loc": { "start": { "line": 132, "column": 19 }, "end": { "line": 132, "column": 26 }, "identifierName": "drawBVH" }, "name": "drawBVH" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 3725, "end": 3732, "loc": { "start": { "line": 132, "column": 27 }, "end": { "line": 132, "column": 34 }, "identifierName": "context" }, "name": "context" } ] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 3459, "end": 3677, "loc": { "start": { "line": 127, "column": 1 }, "end": { "line": 130, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test for potential collisions against\n\t * @returns {Array}\n\t ", "start": 3740, "end": 3918, "loc": { "start": { "line": 135, "column": 1 }, "end": { "line": 139, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 3920, "end": 3978, "loc": { "start": { "line": 140, "column": 1 }, "end": { "line": 142, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 3920, "end": 3930, "loc": { "start": { "line": 140, "column": 1 }, "end": { "line": 140, "column": 11 }, "identifierName": "potentials" }, "name": "potentials", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 3931, "end": 3935, "loc": { "start": { "line": 140, "column": 12 }, "end": { "line": 140, "column": 16 }, "identifierName": "body" }, "name": "body" } ], "body": { "type": "BlockStatement", "start": 3937, "end": 3978, "loc": { "start": { "line": 140, "column": 18 }, "end": { "line": 142, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 3941, "end": 3975, "loc": { "start": { "line": 141, "column": 2 }, "end": { "line": 141, "column": 36 } }, "argument": { "type": "CallExpression", "start": 3948, "end": 3974, "loc": { "start": { "line": 141, "column": 9 }, "end": { "line": 141, "column": 35 } }, "callee": { "type": "MemberExpression", "start": 3948, "end": 3968, "loc": { "start": { "line": 141, "column": 9 }, "end": { "line": 141, "column": 29 } }, "object": { "type": "MemberExpression", "start": 3948, "end": 3957, "loc": { "start": { "line": 141, "column": 9 }, "end": { "line": 141, "column": 18 } }, "object": { "type": "ThisExpression", "start": 3948, "end": 3952, "loc": { "start": { "line": 141, "column": 9 }, "end": { "line": 141, "column": 13 } } }, "property": { "type": "Identifier", "start": 3953, "end": 3957, "loc": { "start": { "line": 141, "column": 14 }, "end": { "line": 141, "column": 18 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "property": { "type": "Identifier", "start": 3958, "end": 3968, "loc": { "start": { "line": 141, "column": 19 }, "end": { "line": 141, "column": 29 }, "identifierName": "potentials" }, "name": "potentials" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 3969, "end": 3973, "loc": { "start": { "line": 141, "column": 30 }, "end": { "line": 141, "column": 34 }, "identifierName": "body" }, "name": "body" } ] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test for potential collisions against\n\t * @returns {Array}\n\t ", "start": 3740, "end": 3918, "loc": { "start": { "line": 135, "column": 1 }, "end": { "line": 139, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Determines if two bodies are colliding\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t ", "start": 3981, "end": 4359, "loc": { "start": { "line": 144, "column": 1 }, "end": { "line": 150, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 4361, "end": 4462, "loc": { "start": { "line": 151, "column": 1 }, "end": { "line": 153, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 4361, "end": 4369, "loc": { "start": { "line": 151, "column": 1 }, "end": { "line": 151, "column": 9 }, "identifierName": "collides" }, "name": "collides", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 4370, "end": 4376, "loc": { "start": { "line": 151, "column": 10 }, "end": { "line": 151, "column": 16 }, "identifierName": "source" }, "name": "source" }, { "type": "Identifier", "start": 4378, "end": 4384, "loc": { "start": { "line": 151, "column": 18 }, "end": { "line": 151, "column": 24 }, "identifierName": "target" }, "name": "target" }, { "type": "AssignmentPattern", "start": 4386, "end": 4399, "loc": { "start": { "line": 151, "column": 26 }, "end": { "line": 151, "column": 39 } }, "left": { "type": "Identifier", "start": 4386, "end": 4392, "loc": { "start": { "line": 151, "column": 26 }, "end": { "line": 151, "column": 32 }, "identifierName": "result" }, "name": "result" }, "right": { "type": "NullLiteral", "start": 4395, "end": 4399, "loc": { "start": { "line": 151, "column": 35 }, "end": { "line": 151, "column": 39 } } } }, { "type": "AssignmentPattern", "start": 4401, "end": 4412, "loc": { "start": { "line": 151, "column": 41 }, "end": { "line": 151, "column": 52 } }, "left": { "type": "Identifier", "start": 4401, "end": 4405, "loc": { "start": { "line": 151, "column": 41 }, "end": { "line": 151, "column": 45 }, "identifierName": "aabb" }, "name": "aabb" }, "right": { "type": "BooleanLiteral", "start": 4408, "end": 4412, "loc": { "start": { "line": 151, "column": 48 }, "end": { "line": 151, "column": 52 } }, "value": true } } ], "body": { "type": "BlockStatement", "start": 4414, "end": 4462, "loc": { "start": { "line": 151, "column": 54 }, "end": { "line": 153, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 4418, "end": 4459, "loc": { "start": { "line": 152, "column": 2 }, "end": { "line": 152, "column": 43 } }, "argument": { "type": "CallExpression", "start": 4425, "end": 4458, "loc": { "start": { "line": 152, "column": 9 }, "end": { "line": 152, "column": 42 } }, "callee": { "type": "Identifier", "start": 4425, "end": 4428, "loc": { "start": { "line": 152, "column": 9 }, "end": { "line": 152, "column": 12 }, "identifierName": "SAT" }, "name": "SAT" }, "arguments": [ { "type": "Identifier", "start": 4429, "end": 4435, "loc": { "start": { "line": 152, "column": 13 }, "end": { "line": 152, "column": 19 }, "identifierName": "source" }, "name": "source" }, { "type": "Identifier", "start": 4437, "end": 4443, "loc": { "start": { "line": 152, "column": 21 }, "end": { "line": 152, "column": 27 }, "identifierName": "target" }, "name": "target" }, { "type": "Identifier", "start": 4445, "end": 4451, "loc": { "start": { "line": 152, "column": 29 }, "end": { "line": 152, "column": 35 }, "identifierName": "result" }, "name": "result" }, { "type": "Identifier", "start": 4453, "end": 4457, "loc": { "start": { "line": 152, "column": 37 }, "end": { "line": 152, "column": 41 }, "identifierName": "aabb" }, "name": "aabb" } ] } } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Determines if two bodies are colliding\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t ", "start": 3981, "end": 4359, "loc": { "start": { "line": 144, "column": 1 }, "end": { "line": 150, "column": 4 } } } ] } ] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A collision system used to track bodies in order to improve collision detection performance\n * @class\n ", "start": 259, "end": 371, "loc": { "start": { "line": 8, "column": 0 }, "end": { "line": 11, "column": 3 } } } ], "__PseudoExport__": false, "trailingComments": [] }, "specifiers": null, "source": null, "leadingComments": null } ], "directives": [] }, "comments": [ { "type": "CommentBlock", "value": "*\n * A collision system used to track bodies in order to improve collision detection performance\n * @class\n ", "start": 259, "end": 371, "loc": { "start": { "line": 8, "column": 0 }, "end": { "line": 11, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t ", "start": 392, "end": 417, "loc": { "start": { "line": 13, "column": 1 }, "end": { "line": 15, "column": 4 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 437, "end": 452, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 17 } } }, { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Circle} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [radius = 0] The radius\n\t * @param {Number} [scale = 1] The scale\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Circle}\n\t ", "start": 483, "end": 887, "loc": { "start": { "line": 21, "column": 1 }, "end": { "line": 29, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Polygon} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Array} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t * @param {Number} [angle = 0] The starting rotation in radians\n\t * @param {Number} [scale_x = 1] The starting scale along the X axis\n\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Polygon}\n\t ", "start": 1059, "end": 1705, "loc": { "start": { "line": 38, "column": 1 }, "end": { "line": 48, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Point} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Point}\n\t ", "start": 1930, "end": 2246, "loc": { "start": { "line": 57, "column": 1 }, "end": { "line": 63, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t ", "start": 2378, "end": 2472, "loc": { "start": { "line": 72, "column": 1 }, "end": { "line": 74, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Creates a Result used to collect the detailed results of a collision test\n\t ", "start": 2519, "end": 2605, "loc": { "start": { "line": 79, "column": 1 }, "end": { "line": 81, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Inserts bodies into the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t ", "start": 2659, "end": 2762, "loc": { "start": { "line": 86, "column": 1 }, "end": { "line": 89, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Removes bodies from the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t ", "start": 2873, "end": 2976, "loc": { "start": { "line": 98, "column": 1 }, "end": { "line": 101, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Updates the collision system. This should be called before any collisions are tested.\n\t ", "start": 3087, "end": 3185, "loc": { "start": { "line": 110, "column": 1 }, "end": { "line": 112, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Draws the bodies within the system to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 3241, "end": 3402, "loc": { "start": { "line": 119, "column": 1 }, "end": { "line": 122, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 3459, "end": 3677, "loc": { "start": { "line": 127, "column": 1 }, "end": { "line": 130, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test for potential collisions against\n\t * @returns {Array}\n\t ", "start": 3740, "end": 3918, "loc": { "start": { "line": 135, "column": 1 }, "end": { "line": 139, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Determines if two bodies are colliding\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t ", "start": 3981, "end": 4359, "loc": { "start": { "line": 144, "column": 1 }, "end": { "line": 150, "column": 4 } } } ], "tokens": [ { "type": { "label": "import", "keyword": "import", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "import", "start": 0, "end": 6, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "BVH", "start": 7, "end": 10, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 15, "end": 19, "loc": { "start": { "line": 1, "column": 15 }, "end": { "line": 1, "column": 19 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./modules/BVH.mjs", "start": 20, "end": 39, "loc": { "start": { "line": 1, "column": 20 }, "end": { "line": 1, "column": 39 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 39, "end": 40, "loc": { "start": { "line": 1, "column": 39 }, "end": { "line": 1, "column": 40 } } }, { "type": { "label": "import", "keyword": "import", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "import", "start": 41, "end": 47, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Circle", "start": 48, "end": 54, "loc": { "start": { "line": 2, "column": 7 }, "end": { "line": 2, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 56, "end": 60, "loc": { "start": { "line": 2, "column": 15 }, "end": { "line": 2, "column": 19 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./modules/Circle.mjs", "start": 61, "end": 83, "loc": { "start": { "line": 2, "column": 20 }, "end": { "line": 2, "column": 42 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 83, "end": 84, "loc": { "start": { "line": 2, "column": 42 }, "end": { "line": 2, "column": 43 } } }, { "type": { "label": "import", "keyword": "import", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "import", "start": 85, "end": 91, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Polygon", "start": 92, "end": 99, "loc": { "start": { "line": 3, "column": 7 }, "end": { "line": 3, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 100, "end": 104, "loc": { "start": { "line": 3, "column": 15 }, "end": { "line": 3, "column": 19 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./modules/Polygon.mjs", "start": 105, "end": 128, "loc": { "start": { "line": 3, "column": 20 }, "end": { "line": 3, "column": 43 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 128, "end": 129, "loc": { "start": { "line": 3, "column": 43 }, "end": { "line": 3, "column": 44 } } }, { "type": { "label": "import", "keyword": "import", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "import", "start": 130, "end": 136, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Point", "start": 137, "end": 142, "loc": { "start": { "line": 4, "column": 7 }, "end": { "line": 4, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 145, "end": 149, "loc": { "start": { "line": 4, "column": 15 }, "end": { "line": 4, "column": 19 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./modules/Point.mjs", "start": 150, "end": 171, "loc": { "start": { "line": 4, "column": 20 }, "end": { "line": 4, "column": 41 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 171, "end": 172, "loc": { "start": { "line": 4, "column": 41 }, "end": { "line": 4, "column": 42 } } }, { "type": { "label": "import", "keyword": "import", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "import", "start": 173, "end": 179, "loc": { "start": { "line": 5, "column": 0 }, "end": { "line": 5, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Result", "start": 180, "end": 186, "loc": { "start": { "line": 5, "column": 7 }, "end": { "line": 5, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 188, "end": 192, "loc": { "start": { "line": 5, "column": 15 }, "end": { "line": 5, "column": 19 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./modules/Result.mjs", "start": 193, "end": 215, "loc": { "start": { "line": 5, "column": 20 }, "end": { "line": 5, "column": 42 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 215, "end": 216, "loc": { "start": { "line": 5, "column": 42 }, "end": { "line": 5, "column": 43 } } }, { "type": { "label": "import", "keyword": "import", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "import", "start": 217, "end": 223, "loc": { "start": { "line": 6, "column": 0 }, "end": { "line": 6, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "SAT", "start": 224, "end": 227, "loc": { "start": { "line": 6, "column": 7 }, "end": { "line": 6, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 232, "end": 236, "loc": { "start": { "line": 6, "column": 15 }, "end": { "line": 6, "column": 19 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./modules/SAT.mjs", "start": 237, "end": 256, "loc": { "start": { "line": 6, "column": 20 }, "end": { "line": 6, "column": 39 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 256, "end": 257, "loc": { "start": { "line": 6, "column": 39 }, "end": { "line": 6, "column": 40 } } }, { "type": "CommentBlock", "value": "*\n * A collision system used to track bodies in order to improve collision detection performance\n * @class\n ", "start": 259, "end": 371, "loc": { "start": { "line": 8, "column": 0 }, "end": { "line": 11, "column": 3 } } }, { "type": { "label": "class", "keyword": "class", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "class", "start": 372, "end": 377, "loc": { "start": { "line": 12, "column": 0 }, "end": { "line": 12, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Collisions", "start": 378, "end": 388, "loc": { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 16 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 389, "end": 390, "loc": { "start": { "line": 12, "column": 17 }, "end": { "line": 12, "column": 18 } } }, { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t ", "start": 392, "end": 417, "loc": { "start": { "line": 13, "column": 1 }, "end": { "line": 15, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "constructor", "start": 419, "end": 430, "loc": { "start": { "line": 16, "column": 1 }, "end": { "line": 16, "column": 12 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 430, "end": 431, "loc": { "start": { "line": 16, "column": 12 }, "end": { "line": 16, "column": 13 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 431, "end": 432, "loc": { "start": { "line": 16, "column": 13 }, "end": { "line": 16, "column": 14 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 433, "end": 434, "loc": { "start": { "line": 16, "column": 15 }, "end": { "line": 16, "column": 16 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 437, "end": 452, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 455, "end": 459, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 459, "end": 460, "loc": { "start": { "line": 18, "column": 6 }, "end": { "line": 18, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh", "start": 460, "end": 464, "loc": { "start": { "line": 18, "column": 7 }, "end": { "line": 18, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 465, "end": 466, "loc": { "start": { "line": 18, "column": 12 }, "end": { "line": 18, "column": 13 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 467, "end": 470, "loc": { "start": { "line": 18, "column": 14 }, "end": { "line": 18, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "BVH", "start": 471, "end": 474, "loc": { "start": { "line": 18, "column": 18 }, "end": { "line": 18, "column": 21 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 474, "end": 475, "loc": { "start": { "line": 18, "column": 21 }, "end": { "line": 18, "column": 22 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 475, "end": 476, "loc": { "start": { "line": 18, "column": 22 }, "end": { "line": 18, "column": 23 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 476, "end": 477, "loc": { "start": { "line": 18, "column": 23 }, "end": { "line": 18, "column": 24 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 479, "end": 480, "loc": { "start": { "line": 19, "column": 1 }, "end": { "line": 19, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Circle} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [radius = 0] The radius\n\t * @param {Number} [scale = 1] The scale\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Circle}\n\t ", "start": 483, "end": 887, "loc": { "start": { "line": 21, "column": 1 }, "end": { "line": 29, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "createCircle", "start": 889, "end": 901, "loc": { "start": { "line": 30, "column": 1 }, "end": { "line": 30, "column": 13 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 901, "end": 902, "loc": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 902, "end": 903, "loc": { "start": { "line": 30, "column": 14 }, "end": { "line": 30, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 904, "end": 905, "loc": { "start": { "line": 30, "column": 16 }, "end": { "line": 30, "column": 17 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 906, "end": 907, "loc": { "start": { "line": 30, "column": 18 }, "end": { "line": 30, "column": 19 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 907, "end": 908, "loc": { "start": { "line": 30, "column": 19 }, "end": { "line": 30, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 909, "end": 910, "loc": { "start": { "line": 30, "column": 21 }, "end": { "line": 30, "column": 22 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 911, "end": 912, "loc": { "start": { "line": 30, "column": 23 }, "end": { "line": 30, "column": 24 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 913, "end": 914, "loc": { "start": { "line": 30, "column": 25 }, "end": { "line": 30, "column": 26 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 914, "end": 915, "loc": { "start": { "line": 30, "column": 26 }, "end": { "line": 30, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 916, "end": 922, "loc": { "start": { "line": 30, "column": 28 }, "end": { "line": 30, "column": 34 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 923, "end": 924, "loc": { "start": { "line": 30, "column": 35 }, "end": { "line": 30, "column": 36 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 925, "end": 926, "loc": { "start": { "line": 30, "column": 37 }, "end": { "line": 30, "column": 38 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 926, "end": 927, "loc": { "start": { "line": 30, "column": 38 }, "end": { "line": 30, "column": 39 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale", "start": 928, "end": 933, "loc": { "start": { "line": 30, "column": 40 }, "end": { "line": 30, "column": 45 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 934, "end": 935, "loc": { "start": { "line": 30, "column": 46 }, "end": { "line": 30, "column": 47 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 936, "end": 937, "loc": { "start": { "line": 30, "column": 48 }, "end": { "line": 30, "column": 49 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 937, "end": 938, "loc": { "start": { "line": 30, "column": 49 }, "end": { "line": 30, "column": 50 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 939, "end": 946, "loc": { "start": { "line": 30, "column": 51 }, "end": { "line": 30, "column": 58 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 947, "end": 948, "loc": { "start": { "line": 30, "column": 59 }, "end": { "line": 30, "column": 60 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 949, "end": 950, "loc": { "start": { "line": 30, "column": 61 }, "end": { "line": 30, "column": 62 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 950, "end": 951, "loc": { "start": { "line": 30, "column": 62 }, "end": { "line": 30, "column": 63 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 952, "end": 953, "loc": { "start": { "line": 30, "column": 64 }, "end": { "line": 30, "column": 65 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 956, "end": 961, "loc": { "start": { "line": 31, "column": 2 }, "end": { "line": 31, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 962, "end": 966, "loc": { "start": { "line": 31, "column": 8 }, "end": { "line": 31, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 967, "end": 968, "loc": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 14 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 969, "end": 972, "loc": { "start": { "line": 31, "column": 15 }, "end": { "line": 31, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Circle", "start": 973, "end": 979, "loc": { "start": { "line": 31, "column": 19 }, "end": { "line": 31, "column": 25 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 979, "end": 980, "loc": { "start": { "line": 31, "column": 25 }, "end": { "line": 31, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 980, "end": 981, "loc": { "start": { "line": 31, "column": 26 }, "end": { "line": 31, "column": 27 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 981, "end": 982, "loc": { "start": { "line": 31, "column": 27 }, "end": { "line": 31, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 983, "end": 984, "loc": { "start": { "line": 31, "column": 29 }, "end": { "line": 31, "column": 30 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 984, "end": 985, "loc": { "start": { "line": 31, "column": 30 }, "end": { "line": 31, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 986, "end": 992, "loc": { "start": { "line": 31, "column": 32 }, "end": { "line": 31, "column": 38 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 992, "end": 993, "loc": { "start": { "line": 31, "column": 38 }, "end": { "line": 31, "column": 39 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale", "start": 994, "end": 999, "loc": { "start": { "line": 31, "column": 40 }, "end": { "line": 31, "column": 45 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 999, "end": 1000, "loc": { "start": { "line": 31, "column": 45 }, "end": { "line": 31, "column": 46 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 1001, "end": 1008, "loc": { "start": { "line": 31, "column": 47 }, "end": { "line": 31, "column": 54 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1008, "end": 1009, "loc": { "start": { "line": 31, "column": 54 }, "end": { "line": 31, "column": 55 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1009, "end": 1010, "loc": { "start": { "line": 31, "column": 55 }, "end": { "line": 31, "column": 56 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1014, "end": 1018, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 33, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1018, "end": 1019, "loc": { "start": { "line": 33, "column": 6 }, "end": { "line": 33, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh", "start": 1019, "end": 1023, "loc": { "start": { "line": 33, "column": 7 }, "end": { "line": 33, "column": 11 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1023, "end": 1024, "loc": { "start": { "line": 33, "column": 11 }, "end": { "line": 33, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "insert", "start": 1024, "end": 1030, "loc": { "start": { "line": 33, "column": 12 }, "end": { "line": 33, "column": 18 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1030, "end": 1031, "loc": { "start": { "line": 33, "column": 18 }, "end": { "line": 33, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1031, "end": 1035, "loc": { "start": { "line": 33, "column": 19 }, "end": { "line": 33, "column": 23 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1035, "end": 1036, "loc": { "start": { "line": 33, "column": 23 }, "end": { "line": 33, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1036, "end": 1037, "loc": { "start": { "line": 33, "column": 24 }, "end": { "line": 33, "column": 25 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 1041, "end": 1047, "loc": { "start": { "line": 35, "column": 2 }, "end": { "line": 35, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1048, "end": 1052, "loc": { "start": { "line": 35, "column": 9 }, "end": { "line": 35, "column": 13 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1052, "end": 1053, "loc": { "start": { "line": 35, "column": 13 }, "end": { "line": 35, "column": 14 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1055, "end": 1056, "loc": { "start": { "line": 36, "column": 1 }, "end": { "line": 36, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Polygon} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Array} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t * @param {Number} [angle = 0] The starting rotation in radians\n\t * @param {Number} [scale_x = 1] The starting scale along the X axis\n\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Polygon}\n\t ", "start": 1059, "end": 1705, "loc": { "start": { "line": 38, "column": 1 }, "end": { "line": 48, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "createPolygon", "start": 1707, "end": 1720, "loc": { "start": { "line": 49, "column": 1 }, "end": { "line": 49, "column": 14 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1720, "end": 1721, "loc": { "start": { "line": 49, "column": 14 }, "end": { "line": 49, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 1721, "end": 1722, "loc": { "start": { "line": 49, "column": 15 }, "end": { "line": 49, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1723, "end": 1724, "loc": { "start": { "line": 49, "column": 17 }, "end": { "line": 49, "column": 18 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1725, "end": 1726, "loc": { "start": { "line": 49, "column": 19 }, "end": { "line": 49, "column": 20 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1726, "end": 1727, "loc": { "start": { "line": 49, "column": 20 }, "end": { "line": 49, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 1728, "end": 1729, "loc": { "start": { "line": 49, "column": 22 }, "end": { "line": 49, "column": 23 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1730, "end": 1731, "loc": { "start": { "line": 49, "column": 24 }, "end": { "line": 49, "column": 25 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1732, "end": 1733, "loc": { "start": { "line": 49, "column": 26 }, "end": { "line": 49, "column": 27 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1733, "end": 1734, "loc": { "start": { "line": 49, "column": 27 }, "end": { "line": 49, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "points", "start": 1735, "end": 1741, "loc": { "start": { "line": 49, "column": 29 }, "end": { "line": 49, "column": 35 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1742, "end": 1743, "loc": { "start": { "line": 49, "column": 36 }, "end": { "line": 49, "column": 37 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1744, "end": 1745, "loc": { "start": { "line": 49, "column": 38 }, "end": { "line": 49, "column": 39 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1745, "end": 1746, "loc": { "start": { "line": 49, "column": 39 }, "end": { "line": 49, "column": 40 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1746, "end": 1747, "loc": { "start": { "line": 49, "column": 40 }, "end": { "line": 49, "column": 41 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1747, "end": 1748, "loc": { "start": { "line": 49, "column": 41 }, "end": { "line": 49, "column": 42 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1749, "end": 1750, "loc": { "start": { "line": 49, "column": 43 }, "end": { "line": 49, "column": 44 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1750, "end": 1751, "loc": { "start": { "line": 49, "column": 44 }, "end": { "line": 49, "column": 45 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1751, "end": 1752, "loc": { "start": { "line": 49, "column": 45 }, "end": { "line": 49, "column": 46 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1752, "end": 1753, "loc": { "start": { "line": 49, "column": 46 }, "end": { "line": 49, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "angle", "start": 1754, "end": 1759, "loc": { "start": { "line": 49, "column": 48 }, "end": { "line": 49, "column": 53 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1760, "end": 1761, "loc": { "start": { "line": 49, "column": 54 }, "end": { "line": 49, "column": 55 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1762, "end": 1763, "loc": { "start": { "line": 49, "column": 56 }, "end": { "line": 49, "column": 57 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1763, "end": 1764, "loc": { "start": { "line": 49, "column": 57 }, "end": { "line": 49, "column": 58 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_x", "start": 1765, "end": 1772, "loc": { "start": { "line": 49, "column": 59 }, "end": { "line": 49, "column": 66 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1773, "end": 1774, "loc": { "start": { "line": 49, "column": 67 }, "end": { "line": 49, "column": 68 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 1775, "end": 1776, "loc": { "start": { "line": 49, "column": 69 }, "end": { "line": 49, "column": 70 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1776, "end": 1777, "loc": { "start": { "line": 49, "column": 70 }, "end": { "line": 49, "column": 71 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_y", "start": 1778, "end": 1785, "loc": { "start": { "line": 49, "column": 72 }, "end": { "line": 49, "column": 79 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1786, "end": 1787, "loc": { "start": { "line": 49, "column": 80 }, "end": { "line": 49, "column": 81 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 1788, "end": 1789, "loc": { "start": { "line": 49, "column": 82 }, "end": { "line": 49, "column": 83 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1789, "end": 1790, "loc": { "start": { "line": 49, "column": 83 }, "end": { "line": 49, "column": 84 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 1791, "end": 1798, "loc": { "start": { "line": 49, "column": 85 }, "end": { "line": 49, "column": 92 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1799, "end": 1800, "loc": { "start": { "line": 49, "column": 93 }, "end": { "line": 49, "column": 94 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1801, "end": 1802, "loc": { "start": { "line": 49, "column": 95 }, "end": { "line": 49, "column": 96 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1802, "end": 1803, "loc": { "start": { "line": 49, "column": 96 }, "end": { "line": 49, "column": 97 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1804, "end": 1805, "loc": { "start": { "line": 49, "column": 98 }, "end": { "line": 49, "column": 99 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 1808, "end": 1813, "loc": { "start": { "line": 50, "column": 2 }, "end": { "line": 50, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1814, "end": 1818, "loc": { "start": { "line": 50, "column": 8 }, "end": { "line": 50, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1819, "end": 1820, "loc": { "start": { "line": 50, "column": 13 }, "end": { "line": 50, "column": 14 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 1821, "end": 1824, "loc": { "start": { "line": 50, "column": 15 }, "end": { "line": 50, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Polygon", "start": 1825, "end": 1832, "loc": { "start": { "line": 50, "column": 19 }, "end": { "line": 50, "column": 26 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1832, "end": 1833, "loc": { "start": { "line": 50, "column": 26 }, "end": { "line": 50, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 1833, "end": 1834, "loc": { "start": { "line": 50, "column": 27 }, "end": { "line": 50, "column": 28 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1834, "end": 1835, "loc": { "start": { "line": 50, "column": 28 }, "end": { "line": 50, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 1836, "end": 1837, "loc": { "start": { "line": 50, "column": 30 }, "end": { "line": 50, "column": 31 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1837, "end": 1838, "loc": { "start": { "line": 50, "column": 31 }, "end": { "line": 50, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "points", "start": 1839, "end": 1845, "loc": { "start": { "line": 50, "column": 33 }, "end": { "line": 50, "column": 39 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1845, "end": 1846, "loc": { "start": { "line": 50, "column": 39 }, "end": { "line": 50, "column": 40 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "angle", "start": 1847, "end": 1852, "loc": { "start": { "line": 50, "column": 41 }, "end": { "line": 50, "column": 46 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1852, "end": 1853, "loc": { "start": { "line": 50, "column": 46 }, "end": { "line": 50, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_x", "start": 1854, "end": 1861, "loc": { "start": { "line": 50, "column": 48 }, "end": { "line": 50, "column": 55 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1861, "end": 1862, "loc": { "start": { "line": 50, "column": 55 }, "end": { "line": 50, "column": 56 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_y", "start": 1863, "end": 1870, "loc": { "start": { "line": 50, "column": 57 }, "end": { "line": 50, "column": 64 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1870, "end": 1871, "loc": { "start": { "line": 50, "column": 64 }, "end": { "line": 50, "column": 65 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 1872, "end": 1879, "loc": { "start": { "line": 50, "column": 66 }, "end": { "line": 50, "column": 73 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1879, "end": 1880, "loc": { "start": { "line": 50, "column": 73 }, "end": { "line": 50, "column": 74 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1880, "end": 1881, "loc": { "start": { "line": 50, "column": 74 }, "end": { "line": 50, "column": 75 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1885, "end": 1889, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1889, "end": 1890, "loc": { "start": { "line": 52, "column": 6 }, "end": { "line": 52, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh", "start": 1890, "end": 1894, "loc": { "start": { "line": 52, "column": 7 }, "end": { "line": 52, "column": 11 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1894, "end": 1895, "loc": { "start": { "line": 52, "column": 11 }, "end": { "line": 52, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "insert", "start": 1895, "end": 1901, "loc": { "start": { "line": 52, "column": 12 }, "end": { "line": 52, "column": 18 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1901, "end": 1902, "loc": { "start": { "line": 52, "column": 18 }, "end": { "line": 52, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1902, "end": 1906, "loc": { "start": { "line": 52, "column": 19 }, "end": { "line": 52, "column": 23 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1906, "end": 1907, "loc": { "start": { "line": 52, "column": 23 }, "end": { "line": 52, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1907, "end": 1908, "loc": { "start": { "line": 52, "column": 24 }, "end": { "line": 52, "column": 25 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 1912, "end": 1918, "loc": { "start": { "line": 54, "column": 2 }, "end": { "line": 54, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1919, "end": 1923, "loc": { "start": { "line": 54, "column": 9 }, "end": { "line": 54, "column": 13 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1923, "end": 1924, "loc": { "start": { "line": 54, "column": 13 }, "end": { "line": 54, "column": 14 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1926, "end": 1927, "loc": { "start": { "line": 55, "column": 1 }, "end": { "line": 55, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Point} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Point}\n\t ", "start": 1930, "end": 2246, "loc": { "start": { "line": 57, "column": 1 }, "end": { "line": 63, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "createPoint", "start": 2248, "end": 2259, "loc": { "start": { "line": 64, "column": 1 }, "end": { "line": 64, "column": 12 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2259, "end": 2260, "loc": { "start": { "line": 64, "column": 12 }, "end": { "line": 64, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 2260, "end": 2261, "loc": { "start": { "line": 64, "column": 13 }, "end": { "line": 64, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2262, "end": 2263, "loc": { "start": { "line": 64, "column": 15 }, "end": { "line": 64, "column": 16 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 2264, "end": 2265, "loc": { "start": { "line": 64, "column": 17 }, "end": { "line": 64, "column": 18 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2265, "end": 2266, "loc": { "start": { "line": 64, "column": 18 }, "end": { "line": 64, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 2267, "end": 2268, "loc": { "start": { "line": 64, "column": 20 }, "end": { "line": 64, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2269, "end": 2270, "loc": { "start": { "line": 64, "column": 22 }, "end": { "line": 64, "column": 23 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 2271, "end": 2272, "loc": { "start": { "line": 64, "column": 24 }, "end": { "line": 64, "column": 25 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2272, "end": 2273, "loc": { "start": { "line": 64, "column": 25 }, "end": { "line": 64, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 2274, "end": 2281, "loc": { "start": { "line": 64, "column": 27 }, "end": { "line": 64, "column": 34 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2282, "end": 2283, "loc": { "start": { "line": 64, "column": 35 }, "end": { "line": 64, "column": 36 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 2284, "end": 2285, "loc": { "start": { "line": 64, "column": 37 }, "end": { "line": 64, "column": 38 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2285, "end": 2286, "loc": { "start": { "line": 64, "column": 38 }, "end": { "line": 64, "column": 39 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2287, "end": 2288, "loc": { "start": { "line": 64, "column": 40 }, "end": { "line": 64, "column": 41 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2291, "end": 2296, "loc": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 2297, "end": 2301, "loc": { "start": { "line": 65, "column": 8 }, "end": { "line": 65, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2302, "end": 2303, "loc": { "start": { "line": 65, "column": 13 }, "end": { "line": 65, "column": 14 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 2304, "end": 2307, "loc": { "start": { "line": 65, "column": 15 }, "end": { "line": 65, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Point", "start": 2308, "end": 2313, "loc": { "start": { "line": 65, "column": 19 }, "end": { "line": 65, "column": 24 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2313, "end": 2314, "loc": { "start": { "line": 65, "column": 24 }, "end": { "line": 65, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 2314, "end": 2315, "loc": { "start": { "line": 65, "column": 25 }, "end": { "line": 65, "column": 26 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2315, "end": 2316, "loc": { "start": { "line": 65, "column": 26 }, "end": { "line": 65, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 2317, "end": 2318, "loc": { "start": { "line": 65, "column": 28 }, "end": { "line": 65, "column": 29 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2318, "end": 2319, "loc": { "start": { "line": 65, "column": 29 }, "end": { "line": 65, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 2320, "end": 2327, "loc": { "start": { "line": 65, "column": 31 }, "end": { "line": 65, "column": 38 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2327, "end": 2328, "loc": { "start": { "line": 65, "column": 38 }, "end": { "line": 65, "column": 39 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2328, "end": 2329, "loc": { "start": { "line": 65, "column": 39 }, "end": { "line": 65, "column": 40 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2333, "end": 2337, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2337, "end": 2338, "loc": { "start": { "line": 67, "column": 6 }, "end": { "line": 67, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh", "start": 2338, "end": 2342, "loc": { "start": { "line": 67, "column": 7 }, "end": { "line": 67, "column": 11 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2342, "end": 2343, "loc": { "start": { "line": 67, "column": 11 }, "end": { "line": 67, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "insert", "start": 2343, "end": 2349, "loc": { "start": { "line": 67, "column": 12 }, "end": { "line": 67, "column": 18 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2349, "end": 2350, "loc": { "start": { "line": 67, "column": 18 }, "end": { "line": 67, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 2350, "end": 2354, "loc": { "start": { "line": 67, "column": 19 }, "end": { "line": 67, "column": 23 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2354, "end": 2355, "loc": { "start": { "line": 67, "column": 23 }, "end": { "line": 67, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2355, "end": 2356, "loc": { "start": { "line": 67, "column": 24 }, "end": { "line": 67, "column": 25 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 2360, "end": 2366, "loc": { "start": { "line": 69, "column": 2 }, "end": { "line": 69, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 2367, "end": 2371, "loc": { "start": { "line": 69, "column": 9 }, "end": { "line": 69, "column": 13 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2371, "end": 2372, "loc": { "start": { "line": 69, "column": 13 }, "end": { "line": 69, "column": 14 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2374, "end": 2375, "loc": { "start": { "line": 70, "column": 1 }, "end": { "line": 70, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t ", "start": 2378, "end": 2472, "loc": { "start": { "line": 72, "column": 1 }, "end": { "line": 74, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "createResult", "start": 2474, "end": 2486, "loc": { "start": { "line": 75, "column": 1 }, "end": { "line": 75, "column": 13 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2486, "end": 2487, "loc": { "start": { "line": 75, "column": 13 }, "end": { "line": 75, "column": 14 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2487, "end": 2488, "loc": { "start": { "line": 75, "column": 14 }, "end": { "line": 75, "column": 15 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2489, "end": 2490, "loc": { "start": { "line": 75, "column": 16 }, "end": { "line": 75, "column": 17 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 2493, "end": 2499, "loc": { "start": { "line": 76, "column": 2 }, "end": { "line": 76, "column": 8 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 2500, "end": 2503, "loc": { "start": { "line": 76, "column": 9 }, "end": { "line": 76, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Result", "start": 2504, "end": 2510, "loc": { "start": { "line": 76, "column": 13 }, "end": { "line": 76, "column": 19 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2510, "end": 2511, "loc": { "start": { "line": 76, "column": 19 }, "end": { "line": 76, "column": 20 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2511, "end": 2512, "loc": { "start": { "line": 76, "column": 20 }, "end": { "line": 76, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2512, "end": 2513, "loc": { "start": { "line": 76, "column": 21 }, "end": { "line": 76, "column": 22 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2515, "end": 2516, "loc": { "start": { "line": 77, "column": 1 }, "end": { "line": 77, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Creates a Result used to collect the detailed results of a collision test\n\t ", "start": 2519, "end": 2605, "loc": { "start": { "line": 79, "column": 1 }, "end": { "line": 81, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "static", "start": 2607, "end": 2613, "loc": { "start": { "line": 82, "column": 1 }, "end": { "line": 82, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "createResult", "start": 2614, "end": 2626, "loc": { "start": { "line": 82, "column": 8 }, "end": { "line": 82, "column": 20 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2626, "end": 2627, "loc": { "start": { "line": 82, "column": 20 }, "end": { "line": 82, "column": 21 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2627, "end": 2628, "loc": { "start": { "line": 82, "column": 21 }, "end": { "line": 82, "column": 22 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2629, "end": 2630, "loc": { "start": { "line": 82, "column": 23 }, "end": { "line": 82, "column": 24 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 2633, "end": 2639, "loc": { "start": { "line": 83, "column": 2 }, "end": { "line": 83, "column": 8 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 2640, "end": 2643, "loc": { "start": { "line": 83, "column": 9 }, "end": { "line": 83, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Result", "start": 2644, "end": 2650, "loc": { "start": { "line": 83, "column": 13 }, "end": { "line": 83, "column": 19 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2650, "end": 2651, "loc": { "start": { "line": 83, "column": 19 }, "end": { "line": 83, "column": 20 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2651, "end": 2652, "loc": { "start": { "line": 83, "column": 20 }, "end": { "line": 83, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2652, "end": 2653, "loc": { "start": { "line": 83, "column": 21 }, "end": { "line": 83, "column": 22 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2655, "end": 2656, "loc": { "start": { "line": 84, "column": 1 }, "end": { "line": 84, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Inserts bodies into the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t ", "start": 2659, "end": 2762, "loc": { "start": { "line": 86, "column": 1 }, "end": { "line": 89, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "insert", "start": 2764, "end": 2770, "loc": { "start": { "line": 90, "column": 1 }, "end": { "line": 90, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2770, "end": 2771, "loc": { "start": { "line": 90, "column": 7 }, "end": { "line": 90, "column": 8 } } }, { "type": { "label": "...", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2771, "end": 2774, "loc": { "start": { "line": 90, "column": 8 }, "end": { "line": 90, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bodies", "start": 2774, "end": 2780, "loc": { "start": { "line": 90, "column": 11 }, "end": { "line": 90, "column": 17 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2780, "end": 2781, "loc": { "start": { "line": 90, "column": 17 }, "end": { "line": 90, "column": 18 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2782, "end": 2783, "loc": { "start": { "line": 90, "column": 19 }, "end": { "line": 90, "column": 20 } } }, { "type": { "label": "for", "keyword": "for", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "for", "start": 2786, "end": 2789, "loc": { "start": { "line": 91, "column": 2 }, "end": { "line": 91, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2789, "end": 2790, "loc": { "start": { "line": 91, "column": 5 }, "end": { "line": 91, "column": 6 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2790, "end": 2795, "loc": { "start": { "line": 91, "column": 6 }, "end": { "line": 91, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 2796, "end": 2800, "loc": { "start": { "line": 91, "column": 12 }, "end": { "line": 91, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "of", "start": 2801, "end": 2803, "loc": { "start": { "line": 91, "column": 17 }, "end": { "line": 91, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bodies", "start": 2804, "end": 2810, "loc": { "start": { "line": 91, "column": 20 }, "end": { "line": 91, "column": 26 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2810, "end": 2811, "loc": { "start": { "line": 91, "column": 26 }, "end": { "line": 91, "column": 27 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2812, "end": 2813, "loc": { "start": { "line": 91, "column": 28 }, "end": { "line": 91, "column": 29 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2817, "end": 2821, "loc": { "start": { "line": 92, "column": 3 }, "end": { "line": 92, "column": 7 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2821, "end": 2822, "loc": { "start": { "line": 92, "column": 7 }, "end": { "line": 92, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh", "start": 2822, "end": 2826, "loc": { "start": { "line": 92, "column": 8 }, "end": { "line": 92, "column": 12 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2826, "end": 2827, "loc": { "start": { "line": 92, "column": 12 }, "end": { "line": 92, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "insert", "start": 2827, "end": 2833, "loc": { "start": { "line": 92, "column": 13 }, "end": { "line": 92, "column": 19 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2833, "end": 2834, "loc": { "start": { "line": 92, "column": 19 }, "end": { "line": 92, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 2834, "end": 2838, "loc": { "start": { "line": 92, "column": 20 }, "end": { "line": 92, "column": 24 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2838, "end": 2839, "loc": { "start": { "line": 92, "column": 24 }, "end": { "line": 92, "column": 25 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 2840, "end": 2845, "loc": { "start": { "line": 92, "column": 26 }, "end": { "line": 92, "column": 31 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2845, "end": 2846, "loc": { "start": { "line": 92, "column": 31 }, "end": { "line": 92, "column": 32 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2846, "end": 2847, "loc": { "start": { "line": 92, "column": 32 }, "end": { "line": 92, "column": 33 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2850, "end": 2851, "loc": { "start": { "line": 93, "column": 2 }, "end": { "line": 93, "column": 3 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 2855, "end": 2861, "loc": { "start": { "line": 95, "column": 2 }, "end": { "line": 95, "column": 8 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2862, "end": 2866, "loc": { "start": { "line": 95, "column": 9 }, "end": { "line": 95, "column": 13 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2866, "end": 2867, "loc": { "start": { "line": 95, "column": 13 }, "end": { "line": 95, "column": 14 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2869, "end": 2870, "loc": { "start": { "line": 96, "column": 1 }, "end": { "line": 96, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Removes bodies from the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t ", "start": 2873, "end": 2976, "loc": { "start": { "line": 98, "column": 1 }, "end": { "line": 101, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "remove", "start": 2978, "end": 2984, "loc": { "start": { "line": 102, "column": 1 }, "end": { "line": 102, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2984, "end": 2985, "loc": { "start": { "line": 102, "column": 7 }, "end": { "line": 102, "column": 8 } } }, { "type": { "label": "...", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2985, "end": 2988, "loc": { "start": { "line": 102, "column": 8 }, "end": { "line": 102, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bodies", "start": 2988, "end": 2994, "loc": { "start": { "line": 102, "column": 11 }, "end": { "line": 102, "column": 17 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2994, "end": 2995, "loc": { "start": { "line": 102, "column": 17 }, "end": { "line": 102, "column": 18 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2996, "end": 2997, "loc": { "start": { "line": 102, "column": 19 }, "end": { "line": 102, "column": 20 } } }, { "type": { "label": "for", "keyword": "for", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "for", "start": 3000, "end": 3003, "loc": { "start": { "line": 103, "column": 2 }, "end": { "line": 103, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3003, "end": 3004, "loc": { "start": { "line": 103, "column": 5 }, "end": { "line": 103, "column": 6 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3004, "end": 3009, "loc": { "start": { "line": 103, "column": 6 }, "end": { "line": 103, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 3010, "end": 3014, "loc": { "start": { "line": 103, "column": 12 }, "end": { "line": 103, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "of", "start": 3015, "end": 3017, "loc": { "start": { "line": 103, "column": 17 }, "end": { "line": 103, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bodies", "start": 3018, "end": 3024, "loc": { "start": { "line": 103, "column": 20 }, "end": { "line": 103, "column": 26 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3024, "end": 3025, "loc": { "start": { "line": 103, "column": 26 }, "end": { "line": 103, "column": 27 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3026, "end": 3027, "loc": { "start": { "line": 103, "column": 28 }, "end": { "line": 103, "column": 29 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3031, "end": 3035, "loc": { "start": { "line": 104, "column": 3 }, "end": { "line": 104, "column": 7 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3035, "end": 3036, "loc": { "start": { "line": 104, "column": 7 }, "end": { "line": 104, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh", "start": 3036, "end": 3040, "loc": { "start": { "line": 104, "column": 8 }, "end": { "line": 104, "column": 12 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3040, "end": 3041, "loc": { "start": { "line": 104, "column": 12 }, "end": { "line": 104, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "remove", "start": 3041, "end": 3047, "loc": { "start": { "line": 104, "column": 13 }, "end": { "line": 104, "column": 19 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3047, "end": 3048, "loc": { "start": { "line": 104, "column": 19 }, "end": { "line": 104, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 3048, "end": 3052, "loc": { "start": { "line": 104, "column": 20 }, "end": { "line": 104, "column": 24 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3052, "end": 3053, "loc": { "start": { "line": 104, "column": 24 }, "end": { "line": 104, "column": 25 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 3054, "end": 3059, "loc": { "start": { "line": 104, "column": 26 }, "end": { "line": 104, "column": 31 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3059, "end": 3060, "loc": { "start": { "line": 104, "column": 31 }, "end": { "line": 104, "column": 32 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3060, "end": 3061, "loc": { "start": { "line": 104, "column": 32 }, "end": { "line": 104, "column": 33 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3064, "end": 3065, "loc": { "start": { "line": 105, "column": 2 }, "end": { "line": 105, "column": 3 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 3069, "end": 3075, "loc": { "start": { "line": 107, "column": 2 }, "end": { "line": 107, "column": 8 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3076, "end": 3080, "loc": { "start": { "line": 107, "column": 9 }, "end": { "line": 107, "column": 13 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3080, "end": 3081, "loc": { "start": { "line": 107, "column": 13 }, "end": { "line": 107, "column": 14 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3083, "end": 3084, "loc": { "start": { "line": 108, "column": 1 }, "end": { "line": 108, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Updates the collision system. This should be called before any collisions are tested.\n\t ", "start": 3087, "end": 3185, "loc": { "start": { "line": 110, "column": 1 }, "end": { "line": 112, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "update", "start": 3187, "end": 3193, "loc": { "start": { "line": 113, "column": 1 }, "end": { "line": 113, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3193, "end": 3194, "loc": { "start": { "line": 113, "column": 7 }, "end": { "line": 113, "column": 8 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3194, "end": 3195, "loc": { "start": { "line": 113, "column": 8 }, "end": { "line": 113, "column": 9 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3196, "end": 3197, "loc": { "start": { "line": 113, "column": 10 }, "end": { "line": 113, "column": 11 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3200, "end": 3204, "loc": { "start": { "line": 114, "column": 2 }, "end": { "line": 114, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3204, "end": 3205, "loc": { "start": { "line": 114, "column": 6 }, "end": { "line": 114, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh", "start": 3205, "end": 3209, "loc": { "start": { "line": 114, "column": 7 }, "end": { "line": 114, "column": 11 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3209, "end": 3210, "loc": { "start": { "line": 114, "column": 11 }, "end": { "line": 114, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "update", "start": 3210, "end": 3216, "loc": { "start": { "line": 114, "column": 12 }, "end": { "line": 114, "column": 18 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3216, "end": 3217, "loc": { "start": { "line": 114, "column": 18 }, "end": { "line": 114, "column": 19 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3217, "end": 3218, "loc": { "start": { "line": 114, "column": 19 }, "end": { "line": 114, "column": 20 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3218, "end": 3219, "loc": { "start": { "line": 114, "column": 20 }, "end": { "line": 114, "column": 21 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 3223, "end": 3229, "loc": { "start": { "line": 116, "column": 2 }, "end": { "line": 116, "column": 8 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3230, "end": 3234, "loc": { "start": { "line": 116, "column": 9 }, "end": { "line": 116, "column": 13 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3234, "end": 3235, "loc": { "start": { "line": 116, "column": 13 }, "end": { "line": 116, "column": 14 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3237, "end": 3238, "loc": { "start": { "line": 117, "column": 1 }, "end": { "line": 117, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Draws the bodies within the system to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 3241, "end": 3402, "loc": { "start": { "line": 119, "column": 1 }, "end": { "line": 122, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "draw", "start": 3404, "end": 3408, "loc": { "start": { "line": 123, "column": 1 }, "end": { "line": 123, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3408, "end": 3409, "loc": { "start": { "line": 123, "column": 5 }, "end": { "line": 123, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 3409, "end": 3416, "loc": { "start": { "line": 123, "column": 6 }, "end": { "line": 123, "column": 13 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3416, "end": 3417, "loc": { "start": { "line": 123, "column": 13 }, "end": { "line": 123, "column": 14 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3418, "end": 3419, "loc": { "start": { "line": 123, "column": 15 }, "end": { "line": 123, "column": 16 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 3422, "end": 3428, "loc": { "start": { "line": 124, "column": 2 }, "end": { "line": 124, "column": 8 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3429, "end": 3433, "loc": { "start": { "line": 124, "column": 9 }, "end": { "line": 124, "column": 13 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3433, "end": 3434, "loc": { "start": { "line": 124, "column": 13 }, "end": { "line": 124, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh", "start": 3434, "end": 3438, "loc": { "start": { "line": 124, "column": 14 }, "end": { "line": 124, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3438, "end": 3439, "loc": { "start": { "line": 124, "column": 18 }, "end": { "line": 124, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "draw", "start": 3439, "end": 3443, "loc": { "start": { "line": 124, "column": 19 }, "end": { "line": 124, "column": 23 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3443, "end": 3444, "loc": { "start": { "line": 124, "column": 23 }, "end": { "line": 124, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 3444, "end": 3451, "loc": { "start": { "line": 124, "column": 24 }, "end": { "line": 124, "column": 31 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3451, "end": 3452, "loc": { "start": { "line": 124, "column": 31 }, "end": { "line": 124, "column": 32 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3452, "end": 3453, "loc": { "start": { "line": 124, "column": 32 }, "end": { "line": 124, "column": 33 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3455, "end": 3456, "loc": { "start": { "line": 125, "column": 1 }, "end": { "line": 125, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 3459, "end": 3677, "loc": { "start": { "line": 127, "column": 1 }, "end": { "line": 130, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "drawBVH", "start": 3679, "end": 3686, "loc": { "start": { "line": 131, "column": 1 }, "end": { "line": 131, "column": 8 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3686, "end": 3687, "loc": { "start": { "line": 131, "column": 8 }, "end": { "line": 131, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 3687, "end": 3694, "loc": { "start": { "line": 131, "column": 9 }, "end": { "line": 131, "column": 16 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3694, "end": 3695, "loc": { "start": { "line": 131, "column": 16 }, "end": { "line": 131, "column": 17 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3696, "end": 3697, "loc": { "start": { "line": 131, "column": 18 }, "end": { "line": 131, "column": 19 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 3700, "end": 3706, "loc": { "start": { "line": 132, "column": 2 }, "end": { "line": 132, "column": 8 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3707, "end": 3711, "loc": { "start": { "line": 132, "column": 9 }, "end": { "line": 132, "column": 13 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3711, "end": 3712, "loc": { "start": { "line": 132, "column": 13 }, "end": { "line": 132, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh", "start": 3712, "end": 3716, "loc": { "start": { "line": 132, "column": 14 }, "end": { "line": 132, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3716, "end": 3717, "loc": { "start": { "line": 132, "column": 18 }, "end": { "line": 132, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "drawBVH", "start": 3717, "end": 3724, "loc": { "start": { "line": 132, "column": 19 }, "end": { "line": 132, "column": 26 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3724, "end": 3725, "loc": { "start": { "line": 132, "column": 26 }, "end": { "line": 132, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 3725, "end": 3732, "loc": { "start": { "line": 132, "column": 27 }, "end": { "line": 132, "column": 34 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3732, "end": 3733, "loc": { "start": { "line": 132, "column": 34 }, "end": { "line": 132, "column": 35 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3733, "end": 3734, "loc": { "start": { "line": 132, "column": 35 }, "end": { "line": 132, "column": 36 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3736, "end": 3737, "loc": { "start": { "line": 133, "column": 1 }, "end": { "line": 133, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test for potential collisions against\n\t * @returns {Array}\n\t ", "start": 3740, "end": 3918, "loc": { "start": { "line": 135, "column": 1 }, "end": { "line": 139, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "potentials", "start": 3920, "end": 3930, "loc": { "start": { "line": 140, "column": 1 }, "end": { "line": 140, "column": 11 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3930, "end": 3931, "loc": { "start": { "line": 140, "column": 11 }, "end": { "line": 140, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 3931, "end": 3935, "loc": { "start": { "line": 140, "column": 12 }, "end": { "line": 140, "column": 16 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3935, "end": 3936, "loc": { "start": { "line": 140, "column": 16 }, "end": { "line": 140, "column": 17 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3937, "end": 3938, "loc": { "start": { "line": 140, "column": 18 }, "end": { "line": 140, "column": 19 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 3941, "end": 3947, "loc": { "start": { "line": 141, "column": 2 }, "end": { "line": 141, "column": 8 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3948, "end": 3952, "loc": { "start": { "line": 141, "column": 9 }, "end": { "line": 141, "column": 13 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3952, "end": 3953, "loc": { "start": { "line": 141, "column": 13 }, "end": { "line": 141, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh", "start": 3953, "end": 3957, "loc": { "start": { "line": 141, "column": 14 }, "end": { "line": 141, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3957, "end": 3958, "loc": { "start": { "line": 141, "column": 18 }, "end": { "line": 141, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "potentials", "start": 3958, "end": 3968, "loc": { "start": { "line": 141, "column": 19 }, "end": { "line": 141, "column": 29 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3968, "end": 3969, "loc": { "start": { "line": 141, "column": 29 }, "end": { "line": 141, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 3969, "end": 3973, "loc": { "start": { "line": 141, "column": 30 }, "end": { "line": 141, "column": 34 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3973, "end": 3974, "loc": { "start": { "line": 141, "column": 34 }, "end": { "line": 141, "column": 35 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3974, "end": 3975, "loc": { "start": { "line": 141, "column": 35 }, "end": { "line": 141, "column": 36 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3977, "end": 3978, "loc": { "start": { "line": 142, "column": 1 }, "end": { "line": 142, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Determines if two bodies are colliding\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t ", "start": 3981, "end": 4359, "loc": { "start": { "line": 144, "column": 1 }, "end": { "line": 150, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "collides", "start": 4361, "end": 4369, "loc": { "start": { "line": 151, "column": 1 }, "end": { "line": 151, "column": 9 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4369, "end": 4370, "loc": { "start": { "line": 151, "column": 9 }, "end": { "line": 151, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "source", "start": 4370, "end": 4376, "loc": { "start": { "line": 151, "column": 10 }, "end": { "line": 151, "column": 16 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4376, "end": 4377, "loc": { "start": { "line": 151, "column": 16 }, "end": { "line": 151, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "target", "start": 4378, "end": 4384, "loc": { "start": { "line": 151, "column": 18 }, "end": { "line": 151, "column": 24 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4384, "end": 4385, "loc": { "start": { "line": 151, "column": 24 }, "end": { "line": 151, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 4386, "end": 4392, "loc": { "start": { "line": 151, "column": 26 }, "end": { "line": 151, "column": 32 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4393, "end": 4394, "loc": { "start": { "line": 151, "column": 33 }, "end": { "line": 151, "column": 34 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 4395, "end": 4399, "loc": { "start": { "line": 151, "column": 35 }, "end": { "line": 151, "column": 39 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4399, "end": 4400, "loc": { "start": { "line": 151, "column": 39 }, "end": { "line": 151, "column": 40 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "aabb", "start": 4401, "end": 4405, "loc": { "start": { "line": 151, "column": 41 }, "end": { "line": 151, "column": 45 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4406, "end": 4407, "loc": { "start": { "line": 151, "column": 46 }, "end": { "line": 151, "column": 47 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 4408, "end": 4412, "loc": { "start": { "line": 151, "column": 48 }, "end": { "line": 151, "column": 52 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4412, "end": 4413, "loc": { "start": { "line": 151, "column": 52 }, "end": { "line": 151, "column": 53 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4414, "end": 4415, "loc": { "start": { "line": 151, "column": 54 }, "end": { "line": 151, "column": 55 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 4418, "end": 4424, "loc": { "start": { "line": 152, "column": 2 }, "end": { "line": 152, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "SAT", "start": 4425, "end": 4428, "loc": { "start": { "line": 152, "column": 9 }, "end": { "line": 152, "column": 12 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4428, "end": 4429, "loc": { "start": { "line": 152, "column": 12 }, "end": { "line": 152, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "source", "start": 4429, "end": 4435, "loc": { "start": { "line": 152, "column": 13 }, "end": { "line": 152, "column": 19 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4435, "end": 4436, "loc": { "start": { "line": 152, "column": 19 }, "end": { "line": 152, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "target", "start": 4437, "end": 4443, "loc": { "start": { "line": 152, "column": 21 }, "end": { "line": 152, "column": 27 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4443, "end": 4444, "loc": { "start": { "line": 152, "column": 27 }, "end": { "line": 152, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 4445, "end": 4451, "loc": { "start": { "line": 152, "column": 29 }, "end": { "line": 152, "column": 35 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4451, "end": 4452, "loc": { "start": { "line": 152, "column": 35 }, "end": { "line": 152, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "aabb", "start": 4453, "end": 4457, "loc": { "start": { "line": 152, "column": 37 }, "end": { "line": 152, "column": 41 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4457, "end": 4458, "loc": { "start": { "line": 152, "column": 41 }, "end": { "line": 152, "column": 42 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4458, "end": 4459, "loc": { "start": { "line": 152, "column": 42 }, "end": { "line": 152, "column": 43 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4461, "end": 4462, "loc": { "start": { "line": 153, "column": 1 }, "end": { "line": 153, "column": 2 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4463, "end": 4464, "loc": { "start": { "line": 154, "column": 0 }, "end": { "line": 154, "column": 1 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4464, "end": 4465, "loc": { "start": { "line": 154, "column": 1 }, "end": { "line": 154, "column": 2 } } }, { "type": { "label": "export", "keyword": "export", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "export", "start": 4467, "end": 4473, "loc": { "start": { "line": 156, "column": 0 }, "end": { "line": 156, "column": 6 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4474, "end": 4475, "loc": { "start": { "line": 156, "column": 7 }, "end": { "line": 156, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Collisions", "start": 4477, "end": 4487, "loc": { "start": { "line": 157, "column": 1 }, "end": { "line": 157, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "as", "start": 4488, "end": 4490, "loc": { "start": { "line": 157, "column": 12 }, "end": { "line": 157, "column": 14 } } }, { "type": { "label": "default", "keyword": "default", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "default", "start": 4491, "end": 4498, "loc": { "start": { "line": 157, "column": 15 }, "end": { "line": 157, "column": 22 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4498, "end": 4499, "loc": { "start": { "line": 157, "column": 22 }, "end": { "line": 157, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Collisions", "start": 4501, "end": 4511, "loc": { "start": { "line": 158, "column": 1 }, "end": { "line": 158, "column": 11 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4511, "end": 4512, "loc": { "start": { "line": 158, "column": 11 }, "end": { "line": 158, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Result", "start": 4514, "end": 4520, "loc": { "start": { "line": 159, "column": 1 }, "end": { "line": 159, "column": 7 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4520, "end": 4521, "loc": { "start": { "line": 159, "column": 7 }, "end": { "line": 159, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Circle", "start": 4523, "end": 4529, "loc": { "start": { "line": 160, "column": 1 }, "end": { "line": 160, "column": 7 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4529, "end": 4530, "loc": { "start": { "line": 160, "column": 7 }, "end": { "line": 160, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Polygon", "start": 4532, "end": 4539, "loc": { "start": { "line": 161, "column": 1 }, "end": { "line": 161, "column": 8 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4539, "end": 4540, "loc": { "start": { "line": 161, "column": 8 }, "end": { "line": 161, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Point", "start": 4542, "end": 4547, "loc": { "start": { "line": 162, "column": 1 }, "end": { "line": 162, "column": 6 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4547, "end": 4548, "loc": { "start": { "line": 162, "column": 6 }, "end": { "line": 162, "column": 7 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4549, "end": 4550, "loc": { "start": { "line": 163, "column": 0 }, "end": { "line": 163, "column": 1 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4550, "end": 4551, "loc": { "start": { "line": 163, "column": 1 }, "end": { "line": 163, "column": 2 } } }, { "type": { "label": "eof", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4552, "end": 4552, "loc": { "start": { "line": 164, "column": 0 }, "end": { "line": 164, "column": 0 } } } ] } ================================================ FILE: docs/ast/source/modules/BVH.mjs.json ================================================ { "type": "File", "start": 0, "end": 11371, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 411, "column": 0 } }, "program": { "type": "Program", "start": 0, "end": 11371, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 411, "column": 0 } }, "sourceType": "module", "body": [ { "type": "ImportDeclaration", "start": 0, "end": 40, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 40 } }, "specifiers": [ { "type": "ImportDefaultSpecifier", "start": 7, "end": 16, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 16 } }, "local": { "type": "Identifier", "start": 7, "end": 16, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 16 }, "identifierName": "BVHBranch" }, "name": "BVHBranch" } } ], "source": { "type": "StringLiteral", "start": 22, "end": 39, "loc": { "start": { "line": 1, "column": 22 }, "end": { "line": 1, "column": 39 } }, "extra": { "rawValue": "./BVHBranch.mjs", "raw": "'./BVHBranch.mjs'" }, "value": "./BVHBranch.mjs" }, "trailingComments": [ { "type": "CommentBlock", "value": "*\n * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly\n * @class\n * @private\n ", "start": 42, "end": 150, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 7, "column": 3 } } } ] }, { "type": "ExportDefaultDeclaration", "start": 151, "end": 11369, "loc": { "start": { "line": 8, "column": 0 }, "end": { "line": 410, "column": 1 } }, "declaration": { "type": "ClassDeclaration", "start": 166, "end": 11369, "loc": { "start": { "line": 8, "column": 15 }, "end": { "line": 410, "column": 1 } }, "id": { "type": "Identifier", "start": 172, "end": 175, "loc": { "start": { "line": 8, "column": 21 }, "end": { "line": 8, "column": 24 }, "identifierName": "BVH" }, "name": "BVH", "leadingComments": null }, "superClass": null, "body": { "type": "ClassBody", "start": 176, "end": 11369, "loc": { "start": { "line": 8, "column": 25 }, "end": { "line": 410, "column": 1 } }, "body": [ { "type": "ClassMethod", "start": 206, "end": 356, "loc": { "start": { "line": 12, "column": 1 }, "end": { "line": 21, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 206, "end": 217, "loc": { "start": { "line": 12, "column": 1 }, "end": { "line": 12, "column": 12 }, "identifierName": "constructor" }, "name": "constructor", "leadingComments": null }, "kind": "constructor", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 220, "end": 356, "loc": { "start": { "line": 12, "column": 15 }, "end": { "line": 21, "column": 2 } }, "body": [ { "type": "ExpressionStatement", "start": 242, "end": 265, "loc": { "start": { "line": 14, "column": 2 }, "end": { "line": 14, "column": 25 } }, "expression": { "type": "AssignmentExpression", "start": 242, "end": 264, "loc": { "start": { "line": 14, "column": 2 }, "end": { "line": 14, "column": 24 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 242, "end": 257, "loc": { "start": { "line": 14, "column": 2 }, "end": { "line": 14, "column": 17 } }, "object": { "type": "ThisExpression", "start": 242, "end": 246, "loc": { "start": { "line": 14, "column": 2 }, "end": { "line": 14, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 247, "end": 257, "loc": { "start": { "line": 14, "column": 7 }, "end": { "line": 14, "column": 17 }, "identifierName": "_hierarchy" }, "name": "_hierarchy" }, "computed": false, "leadingComments": null }, "right": { "type": "NullLiteral", "start": 260, "end": 264, "loc": { "start": { "line": 14, "column": 20 }, "end": { "line": 14, "column": 24 } } }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 224, "end": 239, "loc": { "start": { "line": 13, "column": 2 }, "end": { "line": 13, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 269, "end": 284, "loc": { "start": { "line": 16, "column": 2 }, "end": { "line": 16, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 287, "end": 305, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 20 } }, "expression": { "type": "AssignmentExpression", "start": 287, "end": 304, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 19 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 287, "end": 299, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 14 } }, "object": { "type": "ThisExpression", "start": 287, "end": 291, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 292, "end": 299, "loc": { "start": { "line": 17, "column": 7 }, "end": { "line": 17, "column": 14 }, "identifierName": "_bodies" }, "name": "_bodies" }, "computed": false, "leadingComments": null }, "right": { "type": "ArrayExpression", "start": 302, "end": 304, "loc": { "start": { "line": 17, "column": 17 }, "end": { "line": 17, "column": 19 } }, "elements": [] }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 269, "end": 284, "loc": { "start": { "line": 16, "column": 2 }, "end": { "line": 16, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 309, "end": 324, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 327, "end": 353, "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 20, "column": 28 } }, "expression": { "type": "AssignmentExpression", "start": 327, "end": 352, "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 20, "column": 27 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 327, "end": 347, "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 20, "column": 22 } }, "object": { "type": "ThisExpression", "start": 327, "end": 331, "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 20, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 332, "end": 347, "loc": { "start": { "line": 20, "column": 7 }, "end": { "line": 20, "column": 22 }, "identifierName": "_dirty_branches" }, "name": "_dirty_branches" }, "computed": false, "leadingComments": null }, "right": { "type": "ArrayExpression", "start": 350, "end": 352, "loc": { "start": { "line": 20, "column": 25 }, "end": { "line": 20, "column": 27 } }, "elements": [] }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 309, "end": 324, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 17 } } } ] } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t ", "start": 179, "end": 204, "loc": { "start": { "line": 9, "column": 1 }, "end": { "line": 11, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Inserts a body into the BVH\n\t * @param {Circle|Polygon|Point} body The body to insert\n\t * @param {Boolean} [updating = false] Set to true if the body already exists in the BVH (used internally when updating the body's position)\n\t ", "start": 359, "end": 599, "loc": { "start": { "line": 23, "column": 1 }, "end": { "line": 27, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 601, "end": 5071, "loc": { "start": { "line": 28, "column": 1 }, "end": { "line": 144, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 601, "end": 607, "loc": { "start": { "line": 28, "column": 1 }, "end": { "line": 28, "column": 7 }, "identifierName": "insert" }, "name": "insert", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 608, "end": 612, "loc": { "start": { "line": 28, "column": 8 }, "end": { "line": 28, "column": 12 }, "identifierName": "body" }, "name": "body" }, { "type": "AssignmentPattern", "start": 614, "end": 630, "loc": { "start": { "line": 28, "column": 14 }, "end": { "line": 28, "column": 30 } }, "left": { "type": "Identifier", "start": 614, "end": 622, "loc": { "start": { "line": 28, "column": 14 }, "end": { "line": 28, "column": 22 }, "identifierName": "updating" }, "name": "updating" }, "right": { "type": "BooleanLiteral", "start": 625, "end": 630, "loc": { "start": { "line": 28, "column": 25 }, "end": { "line": 28, "column": 30 } }, "value": false } } ], "body": { "type": "BlockStatement", "start": 632, "end": 5071, "loc": { "start": { "line": 28, "column": 32 }, "end": { "line": 144, "column": 2 } }, "body": [ { "type": "IfStatement", "start": 636, "end": 831, "loc": { "start": { "line": 29, "column": 2 }, "end": { "line": 38, "column": 3 } }, "test": { "type": "UnaryExpression", "start": 639, "end": 648, "loc": { "start": { "line": 29, "column": 5 }, "end": { "line": 29, "column": 14 } }, "operator": "!", "prefix": true, "argument": { "type": "Identifier", "start": 640, "end": 648, "loc": { "start": { "line": 29, "column": 6 }, "end": { "line": 29, "column": 14 }, "identifierName": "updating" }, "name": "updating" }, "extra": { "parenthesizedArgument": false } }, "consequent": { "type": "BlockStatement", "start": 650, "end": 831, "loc": { "start": { "line": 29, "column": 16 }, "end": { "line": 38, "column": 3 } }, "body": [ { "type": "VariableDeclaration", "start": 655, "end": 677, "loc": { "start": { "line": 30, "column": 3 }, "end": { "line": 30, "column": 25 } }, "declarations": [ { "type": "VariableDeclarator", "start": 661, "end": 676, "loc": { "start": { "line": 30, "column": 9 }, "end": { "line": 30, "column": 24 } }, "id": { "type": "Identifier", "start": 661, "end": 664, "loc": { "start": { "line": 30, "column": 9 }, "end": { "line": 30, "column": 12 }, "identifierName": "bvh" }, "name": "bvh" }, "init": { "type": "MemberExpression", "start": 667, "end": 676, "loc": { "start": { "line": 30, "column": 15 }, "end": { "line": 30, "column": 24 } }, "object": { "type": "Identifier", "start": 667, "end": 671, "loc": { "start": { "line": 30, "column": 15 }, "end": { "line": 30, "column": 19 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 672, "end": 676, "loc": { "start": { "line": 30, "column": 20 }, "end": { "line": 30, "column": 24 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false } } ], "kind": "const" }, { "type": "IfStatement", "start": 682, "end": 777, "loc": { "start": { "line": 32, "column": 3 }, "end": { "line": 34, "column": 4 } }, "test": { "type": "LogicalExpression", "start": 685, "end": 704, "loc": { "start": { "line": 32, "column": 6 }, "end": { "line": 32, "column": 25 } }, "left": { "type": "Identifier", "start": 685, "end": 688, "loc": { "start": { "line": 32, "column": 6 }, "end": { "line": 32, "column": 9 }, "identifierName": "bvh" }, "name": "bvh" }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 692, "end": 704, "loc": { "start": { "line": 32, "column": 13 }, "end": { "line": 32, "column": 25 } }, "left": { "type": "Identifier", "start": 692, "end": 695, "loc": { "start": { "line": 32, "column": 13 }, "end": { "line": 32, "column": 16 }, "identifierName": "bvh" }, "name": "bvh" }, "operator": "!==", "right": { "type": "ThisExpression", "start": 700, "end": 704, "loc": { "start": { "line": 32, "column": 21 }, "end": { "line": 32, "column": 25 } } } } }, "consequent": { "type": "BlockStatement", "start": 706, "end": 777, "loc": { "start": { "line": 32, "column": 27 }, "end": { "line": 34, "column": 4 } }, "body": [ { "type": "ThrowStatement", "start": 712, "end": 772, "loc": { "start": { "line": 33, "column": 4 }, "end": { "line": 33, "column": 64 } }, "argument": { "type": "NewExpression", "start": 718, "end": 771, "loc": { "start": { "line": 33, "column": 10 }, "end": { "line": 33, "column": 63 } }, "callee": { "type": "Identifier", "start": 722, "end": 727, "loc": { "start": { "line": 33, "column": 14 }, "end": { "line": 33, "column": 19 }, "identifierName": "Error" }, "name": "Error" }, "arguments": [ { "type": "StringLiteral", "start": 728, "end": 770, "loc": { "start": { "line": 33, "column": 20 }, "end": { "line": 33, "column": 62 } }, "extra": { "rawValue": "Body belongs to another collision system", "raw": "'Body belongs to another collision system'" }, "value": "Body belongs to another collision system" } ] } } ], "directives": [] }, "alternate": null }, { "type": "ExpressionStatement", "start": 782, "end": 799, "loc": { "start": { "line": 36, "column": 3 }, "end": { "line": 36, "column": 20 } }, "expression": { "type": "AssignmentExpression", "start": 782, "end": 798, "loc": { "start": { "line": 36, "column": 3 }, "end": { "line": 36, "column": 19 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 782, "end": 791, "loc": { "start": { "line": 36, "column": 3 }, "end": { "line": 36, "column": 12 } }, "object": { "type": "Identifier", "start": 782, "end": 786, "loc": { "start": { "line": 36, "column": 3 }, "end": { "line": 36, "column": 7 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 787, "end": 791, "loc": { "start": { "line": 36, "column": 8 }, "end": { "line": 36, "column": 12 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "right": { "type": "ThisExpression", "start": 794, "end": 798, "loc": { "start": { "line": 36, "column": 15 }, "end": { "line": 36, "column": 19 } } } } }, { "type": "ExpressionStatement", "start": 803, "end": 827, "loc": { "start": { "line": 37, "column": 3 }, "end": { "line": 37, "column": 27 } }, "expression": { "type": "CallExpression", "start": 803, "end": 826, "loc": { "start": { "line": 37, "column": 3 }, "end": { "line": 37, "column": 26 } }, "callee": { "type": "MemberExpression", "start": 803, "end": 820, "loc": { "start": { "line": 37, "column": 3 }, "end": { "line": 37, "column": 20 } }, "object": { "type": "MemberExpression", "start": 803, "end": 815, "loc": { "start": { "line": 37, "column": 3 }, "end": { "line": 37, "column": 15 } }, "object": { "type": "ThisExpression", "start": 803, "end": 807, "loc": { "start": { "line": 37, "column": 3 }, "end": { "line": 37, "column": 7 } } }, "property": { "type": "Identifier", "start": 808, "end": 815, "loc": { "start": { "line": 37, "column": 8 }, "end": { "line": 37, "column": 15 }, "identifierName": "_bodies" }, "name": "_bodies" }, "computed": false }, "property": { "type": "Identifier", "start": 816, "end": 820, "loc": { "start": { "line": 37, "column": 16 }, "end": { "line": 37, "column": 20 }, "identifierName": "push" }, "name": "push" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 821, "end": 825, "loc": { "start": { "line": 37, "column": 21 }, "end": { "line": 37, "column": 25 }, "identifierName": "body" }, "name": "body" } ] } } ], "directives": [] }, "alternate": null }, { "type": "VariableDeclaration", "start": 835, "end": 865, "loc": { "start": { "line": 40, "column": 2 }, "end": { "line": 40, "column": 32 } }, "declarations": [ { "type": "VariableDeclarator", "start": 841, "end": 864, "loc": { "start": { "line": 40, "column": 8 }, "end": { "line": 40, "column": 31 } }, "id": { "type": "Identifier", "start": 841, "end": 848, "loc": { "start": { "line": 40, "column": 8 }, "end": { "line": 40, "column": 15 }, "identifierName": "polygon" }, "name": "polygon" }, "init": { "type": "MemberExpression", "start": 851, "end": 864, "loc": { "start": { "line": 40, "column": 18 }, "end": { "line": 40, "column": 31 } }, "object": { "type": "Identifier", "start": 851, "end": 855, "loc": { "start": { "line": 40, "column": 18 }, "end": { "line": 40, "column": 22 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 856, "end": 864, "loc": { "start": { "line": 40, "column": 23 }, "end": { "line": 40, "column": 31 }, "identifierName": "_polygon" }, "name": "_polygon" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 868, "end": 891, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 25 } }, "declarations": [ { "type": "VariableDeclarator", "start": 874, "end": 890, "loc": { "start": { "line": 41, "column": 8 }, "end": { "line": 41, "column": 24 } }, "id": { "type": "Identifier", "start": 874, "end": 880, "loc": { "start": { "line": 41, "column": 8 }, "end": { "line": 41, "column": 14 }, "identifierName": "body_x" }, "name": "body_x" }, "init": { "type": "MemberExpression", "start": 884, "end": 890, "loc": { "start": { "line": 41, "column": 18 }, "end": { "line": 41, "column": 24 } }, "object": { "type": "Identifier", "start": 884, "end": 888, "loc": { "start": { "line": 41, "column": 18 }, "end": { "line": 41, "column": 22 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 889, "end": 890, "loc": { "start": { "line": 41, "column": 23 }, "end": { "line": 41, "column": 24 }, "identifierName": "x" }, "name": "x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 894, "end": 917, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 42, "column": 25 } }, "declarations": [ { "type": "VariableDeclarator", "start": 900, "end": 916, "loc": { "start": { "line": 42, "column": 8 }, "end": { "line": 42, "column": 24 } }, "id": { "type": "Identifier", "start": 900, "end": 906, "loc": { "start": { "line": 42, "column": 8 }, "end": { "line": 42, "column": 14 }, "identifierName": "body_y" }, "name": "body_y" }, "init": { "type": "MemberExpression", "start": 910, "end": 916, "loc": { "start": { "line": 42, "column": 18 }, "end": { "line": 42, "column": 24 } }, "object": { "type": "Identifier", "start": 910, "end": 914, "loc": { "start": { "line": 42, "column": 18 }, "end": { "line": 42, "column": 22 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 915, "end": 916, "loc": { "start": { "line": 42, "column": 23 }, "end": { "line": 42, "column": 24 }, "identifierName": "y" }, "name": "y" }, "computed": false } } ], "kind": "const" }, { "type": "IfStatement", "start": 921, "end": 1185, "loc": { "start": { "line": 44, "column": 2 }, "end": { "line": 55, "column": 3 } }, "test": { "type": "Identifier", "start": 924, "end": 931, "loc": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 12 }, "identifierName": "polygon" }, "name": "polygon" }, "consequent": { "type": "BlockStatement", "start": 933, "end": 1185, "loc": { "start": { "line": 44, "column": 14 }, "end": { "line": 55, "column": 3 } }, "body": [ { "type": "IfStatement", "start": 938, "end": 1181, "loc": { "start": { "line": 45, "column": 3 }, "end": { "line": 54, "column": 4 } }, "test": { "type": "LogicalExpression", "start": 946, "end": 1140, "loc": { "start": { "line": 46, "column": 4 }, "end": { "line": 51, "column": 34 } }, "left": { "type": "LogicalExpression", "start": 946, "end": 1102, "loc": { "start": { "line": 46, "column": 4 }, "end": { "line": 50, "column": 34 } }, "left": { "type": "LogicalExpression", "start": 946, "end": 1064, "loc": { "start": { "line": 46, "column": 4 }, "end": { "line": 49, "column": 32 } }, "left": { "type": "LogicalExpression", "start": 946, "end": 1028, "loc": { "start": { "line": 46, "column": 4 }, "end": { "line": 48, "column": 28 } }, "left": { "type": "LogicalExpression", "start": 946, "end": 996, "loc": { "start": { "line": 46, "column": 4 }, "end": { "line": 47, "column": 28 } }, "left": { "type": "MemberExpression", "start": 946, "end": 964, "loc": { "start": { "line": 46, "column": 4 }, "end": { "line": 46, "column": 22 } }, "object": { "type": "Identifier", "start": 946, "end": 950, "loc": { "start": { "line": 46, "column": 4 }, "end": { "line": 46, "column": 8 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 951, "end": 964, "loc": { "start": { "line": 46, "column": 9 }, "end": { "line": 46, "column": 22 }, "identifierName": "_dirty_coords" }, "name": "_dirty_coords" }, "computed": false }, "operator": "||", "right": { "type": "BinaryExpression", "start": 972, "end": 996, "loc": { "start": { "line": 47, "column": 4 }, "end": { "line": 47, "column": 28 } }, "left": { "type": "MemberExpression", "start": 972, "end": 978, "loc": { "start": { "line": 47, "column": 4 }, "end": { "line": 47, "column": 10 } }, "object": { "type": "Identifier", "start": 972, "end": 976, "loc": { "start": { "line": 47, "column": 4 }, "end": { "line": 47, "column": 8 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 977, "end": 978, "loc": { "start": { "line": 47, "column": 9 }, "end": { "line": 47, "column": 10 }, "identifierName": "x" }, "name": "x" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 989, "end": 996, "loc": { "start": { "line": 47, "column": 21 }, "end": { "line": 47, "column": 28 } }, "object": { "type": "Identifier", "start": 989, "end": 993, "loc": { "start": { "line": 47, "column": 21 }, "end": { "line": 47, "column": 25 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 994, "end": 996, "loc": { "start": { "line": 47, "column": 26 }, "end": { "line": 47, "column": 28 }, "identifierName": "_x" }, "name": "_x" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 1004, "end": 1028, "loc": { "start": { "line": 48, "column": 4 }, "end": { "line": 48, "column": 28 } }, "left": { "type": "MemberExpression", "start": 1004, "end": 1010, "loc": { "start": { "line": 48, "column": 4 }, "end": { "line": 48, "column": 10 } }, "object": { "type": "Identifier", "start": 1004, "end": 1008, "loc": { "start": { "line": 48, "column": 4 }, "end": { "line": 48, "column": 8 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1009, "end": 1010, "loc": { "start": { "line": 48, "column": 9 }, "end": { "line": 48, "column": 10 }, "identifierName": "y" }, "name": "y" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 1021, "end": 1028, "loc": { "start": { "line": 48, "column": 21 }, "end": { "line": 48, "column": 28 } }, "object": { "type": "Identifier", "start": 1021, "end": 1025, "loc": { "start": { "line": 48, "column": 21 }, "end": { "line": 48, "column": 25 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1026, "end": 1028, "loc": { "start": { "line": 48, "column": 26 }, "end": { "line": 48, "column": 28 }, "identifierName": "_y" }, "name": "_y" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 1036, "end": 1064, "loc": { "start": { "line": 49, "column": 4 }, "end": { "line": 49, "column": 32 } }, "left": { "type": "MemberExpression", "start": 1036, "end": 1046, "loc": { "start": { "line": 49, "column": 4 }, "end": { "line": 49, "column": 14 } }, "object": { "type": "Identifier", "start": 1036, "end": 1040, "loc": { "start": { "line": 49, "column": 4 }, "end": { "line": 49, "column": 8 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1041, "end": 1046, "loc": { "start": { "line": 49, "column": 9 }, "end": { "line": 49, "column": 14 }, "identifierName": "angle" }, "name": "angle" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 1053, "end": 1064, "loc": { "start": { "line": 49, "column": 21 }, "end": { "line": 49, "column": 32 } }, "object": { "type": "Identifier", "start": 1053, "end": 1057, "loc": { "start": { "line": 49, "column": 21 }, "end": { "line": 49, "column": 25 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1058, "end": 1064, "loc": { "start": { "line": 49, "column": 26 }, "end": { "line": 49, "column": 32 }, "identifierName": "_angle" }, "name": "_angle" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 1072, "end": 1102, "loc": { "start": { "line": 50, "column": 4 }, "end": { "line": 50, "column": 34 } }, "left": { "type": "MemberExpression", "start": 1072, "end": 1084, "loc": { "start": { "line": 50, "column": 4 }, "end": { "line": 50, "column": 16 } }, "object": { "type": "Identifier", "start": 1072, "end": 1076, "loc": { "start": { "line": 50, "column": 4 }, "end": { "line": 50, "column": 8 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1077, "end": 1084, "loc": { "start": { "line": 50, "column": 9 }, "end": { "line": 50, "column": 16 }, "identifierName": "scale_x" }, "name": "scale_x" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 1089, "end": 1102, "loc": { "start": { "line": 50, "column": 21 }, "end": { "line": 50, "column": 34 } }, "object": { "type": "Identifier", "start": 1089, "end": 1093, "loc": { "start": { "line": 50, "column": 21 }, "end": { "line": 50, "column": 25 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1094, "end": 1102, "loc": { "start": { "line": 50, "column": 26 }, "end": { "line": 50, "column": 34 }, "identifierName": "_scale_x" }, "name": "_scale_x" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 1110, "end": 1140, "loc": { "start": { "line": 51, "column": 4 }, "end": { "line": 51, "column": 34 } }, "left": { "type": "MemberExpression", "start": 1110, "end": 1122, "loc": { "start": { "line": 51, "column": 4 }, "end": { "line": 51, "column": 16 } }, "object": { "type": "Identifier", "start": 1110, "end": 1114, "loc": { "start": { "line": 51, "column": 4 }, "end": { "line": 51, "column": 8 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1115, "end": 1122, "loc": { "start": { "line": 51, "column": 9 }, "end": { "line": 51, "column": 16 }, "identifierName": "scale_y" }, "name": "scale_y" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 1127, "end": 1140, "loc": { "start": { "line": 51, "column": 21 }, "end": { "line": 51, "column": 34 } }, "object": { "type": "Identifier", "start": 1127, "end": 1131, "loc": { "start": { "line": 51, "column": 21 }, "end": { "line": 51, "column": 25 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1132, "end": 1140, "loc": { "start": { "line": 51, "column": 26 }, "end": { "line": 51, "column": 34 }, "identifierName": "_scale_y" }, "name": "_scale_y" }, "computed": false } } }, "consequent": { "type": "BlockStatement", "start": 1146, "end": 1181, "loc": { "start": { "line": 52, "column": 5 }, "end": { "line": 54, "column": 4 } }, "body": [ { "type": "ExpressionStatement", "start": 1152, "end": 1176, "loc": { "start": { "line": 53, "column": 4 }, "end": { "line": 53, "column": 28 } }, "expression": { "type": "CallExpression", "start": 1152, "end": 1175, "loc": { "start": { "line": 53, "column": 4 }, "end": { "line": 53, "column": 27 } }, "callee": { "type": "MemberExpression", "start": 1152, "end": 1173, "loc": { "start": { "line": 53, "column": 4 }, "end": { "line": 53, "column": 25 } }, "object": { "type": "Identifier", "start": 1152, "end": 1156, "loc": { "start": { "line": 53, "column": 4 }, "end": { "line": 53, "column": 8 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1157, "end": 1173, "loc": { "start": { "line": 53, "column": 9 }, "end": { "line": 53, "column": 25 }, "identifierName": "_calculateCoords" }, "name": "_calculateCoords" }, "computed": false }, "arguments": [] } } ], "directives": [] }, "alternate": null } ], "directives": [] }, "alternate": null }, { "type": "VariableDeclaration", "start": 1189, "end": 1226, "loc": { "start": { "line": 57, "column": 2 }, "end": { "line": 57, "column": 39 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1195, "end": 1225, "loc": { "start": { "line": 57, "column": 8 }, "end": { "line": 57, "column": 38 } }, "id": { "type": "Identifier", "start": 1195, "end": 1202, "loc": { "start": { "line": 57, "column": 8 }, "end": { "line": 57, "column": 15 }, "identifierName": "padding" }, "name": "padding" }, "init": { "type": "MemberExpression", "start": 1208, "end": 1225, "loc": { "start": { "line": 57, "column": 21 }, "end": { "line": 57, "column": 38 } }, "object": { "type": "Identifier", "start": 1208, "end": 1212, "loc": { "start": { "line": 57, "column": 21 }, "end": { "line": 57, "column": 25 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1213, "end": 1225, "loc": { "start": { "line": 57, "column": 26 }, "end": { "line": 57, "column": 38 }, "identifierName": "_bvh_padding" }, "name": "_bvh_padding" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 1229, "end": 1287, "loc": { "start": { "line": 58, "column": 2 }, "end": { "line": 58, "column": 60 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1235, "end": 1286, "loc": { "start": { "line": 58, "column": 8 }, "end": { "line": 58, "column": 59 } }, "id": { "type": "Identifier", "start": 1235, "end": 1241, "loc": { "start": { "line": 58, "column": 8 }, "end": { "line": 58, "column": 14 }, "identifierName": "radius" }, "name": "radius" }, "init": { "type": "ConditionalExpression", "start": 1248, "end": 1286, "loc": { "start": { "line": 58, "column": 21 }, "end": { "line": 58, "column": 59 } }, "test": { "type": "Identifier", "start": 1248, "end": 1255, "loc": { "start": { "line": 58, "column": 21 }, "end": { "line": 58, "column": 28 }, "identifierName": "polygon" }, "name": "polygon" }, "consequent": { "type": "NumericLiteral", "start": 1258, "end": 1259, "loc": { "start": { "line": 58, "column": 31 }, "end": { "line": 58, "column": 32 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "alternate": { "type": "BinaryExpression", "start": 1262, "end": 1286, "loc": { "start": { "line": 58, "column": 35 }, "end": { "line": 58, "column": 59 } }, "left": { "type": "MemberExpression", "start": 1262, "end": 1273, "loc": { "start": { "line": 58, "column": 35 }, "end": { "line": 58, "column": 46 } }, "object": { "type": "Identifier", "start": 1262, "end": 1266, "loc": { "start": { "line": 58, "column": 35 }, "end": { "line": 58, "column": 39 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1267, "end": 1273, "loc": { "start": { "line": 58, "column": 40 }, "end": { "line": 58, "column": 46 }, "identifierName": "radius" }, "name": "radius" }, "computed": false }, "operator": "*", "right": { "type": "MemberExpression", "start": 1276, "end": 1286, "loc": { "start": { "line": 58, "column": 49 }, "end": { "line": 58, "column": 59 } }, "object": { "type": "Identifier", "start": 1276, "end": 1280, "loc": { "start": { "line": 58, "column": 49 }, "end": { "line": 58, "column": 53 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1281, "end": 1286, "loc": { "start": { "line": 58, "column": 54 }, "end": { "line": 58, "column": 59 }, "identifierName": "scale" }, "name": "scale" }, "computed": false } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 1290, "end": 1361, "loc": { "start": { "line": 59, "column": 2 }, "end": { "line": 59, "column": 73 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1296, "end": 1360, "loc": { "start": { "line": 59, "column": 8 }, "end": { "line": 59, "column": 72 } }, "id": { "type": "Identifier", "start": 1296, "end": 1306, "loc": { "start": { "line": 59, "column": 8 }, "end": { "line": 59, "column": 18 }, "identifierName": "body_min_x" }, "name": "body_min_x" }, "init": { "type": "BinaryExpression", "start": 1309, "end": 1360, "loc": { "start": { "line": 59, "column": 21 }, "end": { "line": 59, "column": 72 } }, "left": { "type": "ConditionalExpression", "start": 1310, "end": 1349, "loc": { "start": { "line": 59, "column": 22 }, "end": { "line": 59, "column": 61 } }, "test": { "type": "Identifier", "start": 1310, "end": 1317, "loc": { "start": { "line": 59, "column": 22 }, "end": { "line": 59, "column": 29 }, "identifierName": "polygon" }, "name": "polygon" }, "consequent": { "type": "MemberExpression", "start": 1320, "end": 1331, "loc": { "start": { "line": 59, "column": 32 }, "end": { "line": 59, "column": 43 } }, "object": { "type": "Identifier", "start": 1320, "end": 1324, "loc": { "start": { "line": 59, "column": 32 }, "end": { "line": 59, "column": 36 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1325, "end": 1331, "loc": { "start": { "line": 59, "column": 37 }, "end": { "line": 59, "column": 43 }, "identifierName": "_min_x" }, "name": "_min_x" }, "computed": false }, "alternate": { "type": "BinaryExpression", "start": 1334, "end": 1349, "loc": { "start": { "line": 59, "column": 46 }, "end": { "line": 59, "column": 61 } }, "left": { "type": "Identifier", "start": 1334, "end": 1340, "loc": { "start": { "line": 59, "column": 46 }, "end": { "line": 59, "column": 52 }, "identifierName": "body_x" }, "name": "body_x" }, "operator": "-", "right": { "type": "Identifier", "start": 1343, "end": 1349, "loc": { "start": { "line": 59, "column": 55 }, "end": { "line": 59, "column": 61 }, "identifierName": "radius" }, "name": "radius" } }, "extra": { "parenthesized": true, "parenStart": 1309 } }, "operator": "-", "right": { "type": "Identifier", "start": 1353, "end": 1360, "loc": { "start": { "line": 59, "column": 65 }, "end": { "line": 59, "column": 72 }, "identifierName": "padding" }, "name": "padding" } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 1364, "end": 1435, "loc": { "start": { "line": 60, "column": 2 }, "end": { "line": 60, "column": 73 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1370, "end": 1434, "loc": { "start": { "line": 60, "column": 8 }, "end": { "line": 60, "column": 72 } }, "id": { "type": "Identifier", "start": 1370, "end": 1380, "loc": { "start": { "line": 60, "column": 8 }, "end": { "line": 60, "column": 18 }, "identifierName": "body_min_y" }, "name": "body_min_y" }, "init": { "type": "BinaryExpression", "start": 1383, "end": 1434, "loc": { "start": { "line": 60, "column": 21 }, "end": { "line": 60, "column": 72 } }, "left": { "type": "ConditionalExpression", "start": 1384, "end": 1423, "loc": { "start": { "line": 60, "column": 22 }, "end": { "line": 60, "column": 61 } }, "test": { "type": "Identifier", "start": 1384, "end": 1391, "loc": { "start": { "line": 60, "column": 22 }, "end": { "line": 60, "column": 29 }, "identifierName": "polygon" }, "name": "polygon" }, "consequent": { "type": "MemberExpression", "start": 1394, "end": 1405, "loc": { "start": { "line": 60, "column": 32 }, "end": { "line": 60, "column": 43 } }, "object": { "type": "Identifier", "start": 1394, "end": 1398, "loc": { "start": { "line": 60, "column": 32 }, "end": { "line": 60, "column": 36 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1399, "end": 1405, "loc": { "start": { "line": 60, "column": 37 }, "end": { "line": 60, "column": 43 }, "identifierName": "_min_y" }, "name": "_min_y" }, "computed": false }, "alternate": { "type": "BinaryExpression", "start": 1408, "end": 1423, "loc": { "start": { "line": 60, "column": 46 }, "end": { "line": 60, "column": 61 } }, "left": { "type": "Identifier", "start": 1408, "end": 1414, "loc": { "start": { "line": 60, "column": 46 }, "end": { "line": 60, "column": 52 }, "identifierName": "body_y" }, "name": "body_y" }, "operator": "-", "right": { "type": "Identifier", "start": 1417, "end": 1423, "loc": { "start": { "line": 60, "column": 55 }, "end": { "line": 60, "column": 61 }, "identifierName": "radius" }, "name": "radius" } }, "extra": { "parenthesized": true, "parenStart": 1383 } }, "operator": "-", "right": { "type": "Identifier", "start": 1427, "end": 1434, "loc": { "start": { "line": 60, "column": 65 }, "end": { "line": 60, "column": 72 }, "identifierName": "padding" }, "name": "padding" } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 1438, "end": 1509, "loc": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": 73 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1444, "end": 1508, "loc": { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": 72 } }, "id": { "type": "Identifier", "start": 1444, "end": 1454, "loc": { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": 18 }, "identifierName": "body_max_x" }, "name": "body_max_x" }, "init": { "type": "BinaryExpression", "start": 1457, "end": 1508, "loc": { "start": { "line": 61, "column": 21 }, "end": { "line": 61, "column": 72 } }, "left": { "type": "ConditionalExpression", "start": 1458, "end": 1497, "loc": { "start": { "line": 61, "column": 22 }, "end": { "line": 61, "column": 61 } }, "test": { "type": "Identifier", "start": 1458, "end": 1465, "loc": { "start": { "line": 61, "column": 22 }, "end": { "line": 61, "column": 29 }, "identifierName": "polygon" }, "name": "polygon" }, "consequent": { "type": "MemberExpression", "start": 1468, "end": 1479, "loc": { "start": { "line": 61, "column": 32 }, "end": { "line": 61, "column": 43 } }, "object": { "type": "Identifier", "start": 1468, "end": 1472, "loc": { "start": { "line": 61, "column": 32 }, "end": { "line": 61, "column": 36 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1473, "end": 1479, "loc": { "start": { "line": 61, "column": 37 }, "end": { "line": 61, "column": 43 }, "identifierName": "_max_x" }, "name": "_max_x" }, "computed": false }, "alternate": { "type": "BinaryExpression", "start": 1482, "end": 1497, "loc": { "start": { "line": 61, "column": 46 }, "end": { "line": 61, "column": 61 } }, "left": { "type": "Identifier", "start": 1482, "end": 1488, "loc": { "start": { "line": 61, "column": 46 }, "end": { "line": 61, "column": 52 }, "identifierName": "body_x" }, "name": "body_x" }, "operator": "+", "right": { "type": "Identifier", "start": 1491, "end": 1497, "loc": { "start": { "line": 61, "column": 55 }, "end": { "line": 61, "column": 61 }, "identifierName": "radius" }, "name": "radius" } }, "extra": { "parenthesized": true, "parenStart": 1457 } }, "operator": "+", "right": { "type": "Identifier", "start": 1501, "end": 1508, "loc": { "start": { "line": 61, "column": 65 }, "end": { "line": 61, "column": 72 }, "identifierName": "padding" }, "name": "padding" } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 1512, "end": 1583, "loc": { "start": { "line": 62, "column": 2 }, "end": { "line": 62, "column": 73 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1518, "end": 1582, "loc": { "start": { "line": 62, "column": 8 }, "end": { "line": 62, "column": 72 } }, "id": { "type": "Identifier", "start": 1518, "end": 1528, "loc": { "start": { "line": 62, "column": 8 }, "end": { "line": 62, "column": 18 }, "identifierName": "body_max_y" }, "name": "body_max_y" }, "init": { "type": "BinaryExpression", "start": 1531, "end": 1582, "loc": { "start": { "line": 62, "column": 21 }, "end": { "line": 62, "column": 72 } }, "left": { "type": "ConditionalExpression", "start": 1532, "end": 1571, "loc": { "start": { "line": 62, "column": 22 }, "end": { "line": 62, "column": 61 } }, "test": { "type": "Identifier", "start": 1532, "end": 1539, "loc": { "start": { "line": 62, "column": 22 }, "end": { "line": 62, "column": 29 }, "identifierName": "polygon" }, "name": "polygon" }, "consequent": { "type": "MemberExpression", "start": 1542, "end": 1553, "loc": { "start": { "line": 62, "column": 32 }, "end": { "line": 62, "column": 43 } }, "object": { "type": "Identifier", "start": 1542, "end": 1546, "loc": { "start": { "line": 62, "column": 32 }, "end": { "line": 62, "column": 36 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1547, "end": 1553, "loc": { "start": { "line": 62, "column": 37 }, "end": { "line": 62, "column": 43 }, "identifierName": "_max_y" }, "name": "_max_y" }, "computed": false }, "alternate": { "type": "BinaryExpression", "start": 1556, "end": 1571, "loc": { "start": { "line": 62, "column": 46 }, "end": { "line": 62, "column": 61 } }, "left": { "type": "Identifier", "start": 1556, "end": 1562, "loc": { "start": { "line": 62, "column": 46 }, "end": { "line": 62, "column": 52 }, "identifierName": "body_y" }, "name": "body_y" }, "operator": "+", "right": { "type": "Identifier", "start": 1565, "end": 1571, "loc": { "start": { "line": 62, "column": 55 }, "end": { "line": 62, "column": 61 }, "identifierName": "radius" }, "name": "radius" } }, "extra": { "parenthesized": true, "parenStart": 1531 } }, "operator": "+", "right": { "type": "Identifier", "start": 1575, "end": 1582, "loc": { "start": { "line": 62, "column": 65 }, "end": { "line": 62, "column": 72 }, "identifierName": "padding" }, "name": "padding" } } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 1587, "end": 1616, "loc": { "start": { "line": 64, "column": 2 }, "end": { "line": 64, "column": 31 } }, "expression": { "type": "AssignmentExpression", "start": 1587, "end": 1615, "loc": { "start": { "line": 64, "column": 2 }, "end": { "line": 64, "column": 30 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1587, "end": 1602, "loc": { "start": { "line": 64, "column": 2 }, "end": { "line": 64, "column": 17 } }, "object": { "type": "Identifier", "start": 1587, "end": 1591, "loc": { "start": { "line": 64, "column": 2 }, "end": { "line": 64, "column": 6 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1592, "end": 1602, "loc": { "start": { "line": 64, "column": 7 }, "end": { "line": 64, "column": 17 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false }, "right": { "type": "Identifier", "start": 1605, "end": 1615, "loc": { "start": { "line": 64, "column": 20 }, "end": { "line": 64, "column": 30 }, "identifierName": "body_min_x" }, "name": "body_min_x" } } }, { "type": "ExpressionStatement", "start": 1619, "end": 1648, "loc": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": 31 } }, "expression": { "type": "AssignmentExpression", "start": 1619, "end": 1647, "loc": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": 30 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1619, "end": 1634, "loc": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": 17 } }, "object": { "type": "Identifier", "start": 1619, "end": 1623, "loc": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": 6 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1624, "end": 1634, "loc": { "start": { "line": 65, "column": 7 }, "end": { "line": 65, "column": 17 }, "identifierName": "_bvh_min_y" }, "name": "_bvh_min_y" }, "computed": false }, "right": { "type": "Identifier", "start": 1637, "end": 1647, "loc": { "start": { "line": 65, "column": 20 }, "end": { "line": 65, "column": 30 }, "identifierName": "body_min_y" }, "name": "body_min_y" } } }, { "type": "ExpressionStatement", "start": 1651, "end": 1680, "loc": { "start": { "line": 66, "column": 2 }, "end": { "line": 66, "column": 31 } }, "expression": { "type": "AssignmentExpression", "start": 1651, "end": 1679, "loc": { "start": { "line": 66, "column": 2 }, "end": { "line": 66, "column": 30 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1651, "end": 1666, "loc": { "start": { "line": 66, "column": 2 }, "end": { "line": 66, "column": 17 } }, "object": { "type": "Identifier", "start": 1651, "end": 1655, "loc": { "start": { "line": 66, "column": 2 }, "end": { "line": 66, "column": 6 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1656, "end": 1666, "loc": { "start": { "line": 66, "column": 7 }, "end": { "line": 66, "column": 17 }, "identifierName": "_bvh_max_x" }, "name": "_bvh_max_x" }, "computed": false }, "right": { "type": "Identifier", "start": 1669, "end": 1679, "loc": { "start": { "line": 66, "column": 20 }, "end": { "line": 66, "column": 30 }, "identifierName": "body_max_x" }, "name": "body_max_x" } } }, { "type": "ExpressionStatement", "start": 1683, "end": 1712, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 31 } }, "expression": { "type": "AssignmentExpression", "start": 1683, "end": 1711, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 30 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1683, "end": 1698, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 17 } }, "object": { "type": "Identifier", "start": 1683, "end": 1687, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 6 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 1688, "end": 1698, "loc": { "start": { "line": 67, "column": 7 }, "end": { "line": 67, "column": 17 }, "identifierName": "_bvh_max_y" }, "name": "_bvh_max_y" }, "computed": false }, "right": { "type": "Identifier", "start": 1701, "end": 1711, "loc": { "start": { "line": 67, "column": 20 }, "end": { "line": 67, "column": 30 }, "identifierName": "body_max_y" }, "name": "body_max_y" } } }, { "type": "VariableDeclaration", "start": 1716, "end": 1746, "loc": { "start": { "line": 69, "column": 2 }, "end": { "line": 69, "column": 32 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1720, "end": 1745, "loc": { "start": { "line": 69, "column": 6 }, "end": { "line": 69, "column": 31 } }, "id": { "type": "Identifier", "start": 1720, "end": 1727, "loc": { "start": { "line": 69, "column": 6 }, "end": { "line": 69, "column": 13 }, "identifierName": "current" }, "name": "current" }, "init": { "type": "MemberExpression", "start": 1730, "end": 1745, "loc": { "start": { "line": 69, "column": 16 }, "end": { "line": 69, "column": 31 } }, "object": { "type": "ThisExpression", "start": 1730, "end": 1734, "loc": { "start": { "line": 69, "column": 16 }, "end": { "line": 69, "column": 20 } } }, "property": { "type": "Identifier", "start": 1735, "end": 1745, "loc": { "start": { "line": 69, "column": 21 }, "end": { "line": 69, "column": 31 }, "identifierName": "_hierarchy" }, "name": "_hierarchy" }, "computed": false } } ], "kind": "let" }, { "type": "VariableDeclaration", "start": 1749, "end": 1765, "loc": { "start": { "line": 70, "column": 2 }, "end": { "line": 70, "column": 18 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1753, "end": 1764, "loc": { "start": { "line": 70, "column": 6 }, "end": { "line": 70, "column": 17 } }, "id": { "type": "Identifier", "start": 1753, "end": 1757, "loc": { "start": { "line": 70, "column": 6 }, "end": { "line": 70, "column": 10 }, "identifierName": "sort" }, "name": "sort" }, "init": { "type": "NumericLiteral", "start": 1763, "end": 1764, "loc": { "start": { "line": 70, "column": 16 }, "end": { "line": 70, "column": 17 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "kind": "let" }, { "type": "IfStatement", "start": 1769, "end": 5068, "loc": { "start": { "line": 72, "column": 2 }, "end": { "line": 143, "column": 3 } }, "test": { "type": "UnaryExpression", "start": 1772, "end": 1780, "loc": { "start": { "line": 72, "column": 5 }, "end": { "line": 72, "column": 13 } }, "operator": "!", "prefix": true, "argument": { "type": "Identifier", "start": 1773, "end": 1780, "loc": { "start": { "line": 72, "column": 6 }, "end": { "line": 72, "column": 13 }, "identifierName": "current" }, "name": "current" }, "extra": { "parenthesizedArgument": false } }, "consequent": { "type": "BlockStatement", "start": 1782, "end": 1814, "loc": { "start": { "line": 72, "column": 15 }, "end": { "line": 74, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 1787, "end": 1810, "loc": { "start": { "line": 73, "column": 3 }, "end": { "line": 73, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 1787, "end": 1809, "loc": { "start": { "line": 73, "column": 3 }, "end": { "line": 73, "column": 25 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1787, "end": 1802, "loc": { "start": { "line": 73, "column": 3 }, "end": { "line": 73, "column": 18 } }, "object": { "type": "ThisExpression", "start": 1787, "end": 1791, "loc": { "start": { "line": 73, "column": 3 }, "end": { "line": 73, "column": 7 } } }, "property": { "type": "Identifier", "start": 1792, "end": 1802, "loc": { "start": { "line": 73, "column": 8 }, "end": { "line": 73, "column": 18 }, "identifierName": "_hierarchy" }, "name": "_hierarchy" }, "computed": false }, "right": { "type": "Identifier", "start": 1805, "end": 1809, "loc": { "start": { "line": 73, "column": 21 }, "end": { "line": 73, "column": 25 }, "identifierName": "body" }, "name": "body" } } } ], "directives": [] }, "alternate": { "type": "BlockStatement", "start": 1822, "end": 5068, "loc": { "start": { "line": 75, "column": 7 }, "end": { "line": 143, "column": 3 } }, "body": [ { "type": "WhileStatement", "start": 1827, "end": 5064, "loc": { "start": { "line": 76, "column": 3 }, "end": { "line": 142, "column": 4 } }, "test": { "type": "BooleanLiteral", "start": 1833, "end": 1837, "loc": { "start": { "line": 76, "column": 9 }, "end": { "line": 76, "column": 13 } }, "value": true }, "body": { "type": "BlockStatement", "start": 1839, "end": 5064, "loc": { "start": { "line": 76, "column": 15 }, "end": { "line": 142, "column": 4 } }, "body": [ { "type": "IfStatement", "start": 1859, "end": 5059, "loc": { "start": { "line": 78, "column": 4 }, "end": { "line": 141, "column": 5 } }, "test": { "type": "MemberExpression", "start": 1862, "end": 1881, "loc": { "start": { "line": 78, "column": 7 }, "end": { "line": 78, "column": 26 } }, "object": { "type": "Identifier", "start": 1862, "end": 1869, "loc": { "start": { "line": 78, "column": 7 }, "end": { "line": 78, "column": 14 }, "identifierName": "current" }, "name": "current", "leadingComments": null }, "property": { "type": "Identifier", "start": 1870, "end": 1881, "loc": { "start": { "line": 78, "column": 15 }, "end": { "line": 78, "column": 26 }, "identifierName": "_bvh_branch" }, "name": "_bvh_branch" }, "computed": false, "leadingComments": null }, "consequent": { "type": "BlockStatement", "start": 1883, "end": 3970, "loc": { "start": { "line": 78, "column": 28 }, "end": { "line": 111, "column": 5 } }, "body": [ { "type": "VariableDeclaration", "start": 1890, "end": 1932, "loc": { "start": { "line": 79, "column": 5 }, "end": { "line": 79, "column": 47 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1896, "end": 1931, "loc": { "start": { "line": 79, "column": 11 }, "end": { "line": 79, "column": 46 } }, "id": { "type": "Identifier", "start": 1896, "end": 1900, "loc": { "start": { "line": 79, "column": 11 }, "end": { "line": 79, "column": 15 }, "identifierName": "left" }, "name": "left" }, "init": { "type": "MemberExpression", "start": 1914, "end": 1931, "loc": { "start": { "line": 79, "column": 29 }, "end": { "line": 79, "column": 46 } }, "object": { "type": "Identifier", "start": 1914, "end": 1921, "loc": { "start": { "line": 79, "column": 29 }, "end": { "line": 79, "column": 36 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 1922, "end": 1931, "loc": { "start": { "line": 79, "column": 37 }, "end": { "line": 79, "column": 46 }, "identifierName": "_bvh_left" }, "name": "_bvh_left" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 1938, "end": 1978, "loc": { "start": { "line": 80, "column": 5 }, "end": { "line": 80, "column": 45 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1944, "end": 1977, "loc": { "start": { "line": 80, "column": 11 }, "end": { "line": 80, "column": 44 } }, "id": { "type": "Identifier", "start": 1944, "end": 1954, "loc": { "start": { "line": 80, "column": 11 }, "end": { "line": 80, "column": 21 }, "identifierName": "left_min_y" }, "name": "left_min_y" }, "init": { "type": "MemberExpression", "start": 1962, "end": 1977, "loc": { "start": { "line": 80, "column": 29 }, "end": { "line": 80, "column": 44 } }, "object": { "type": "Identifier", "start": 1962, "end": 1966, "loc": { "start": { "line": 80, "column": 29 }, "end": { "line": 80, "column": 33 }, "identifierName": "left" }, "name": "left" }, "property": { "type": "Identifier", "start": 1967, "end": 1977, "loc": { "start": { "line": 80, "column": 34 }, "end": { "line": 80, "column": 44 }, "identifierName": "_bvh_min_y" }, "name": "_bvh_min_y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 1984, "end": 2024, "loc": { "start": { "line": 81, "column": 5 }, "end": { "line": 81, "column": 45 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1990, "end": 2023, "loc": { "start": { "line": 81, "column": 11 }, "end": { "line": 81, "column": 44 } }, "id": { "type": "Identifier", "start": 1990, "end": 2000, "loc": { "start": { "line": 81, "column": 11 }, "end": { "line": 81, "column": 21 }, "identifierName": "left_max_x" }, "name": "left_max_x" }, "init": { "type": "MemberExpression", "start": 2008, "end": 2023, "loc": { "start": { "line": 81, "column": 29 }, "end": { "line": 81, "column": 44 } }, "object": { "type": "Identifier", "start": 2008, "end": 2012, "loc": { "start": { "line": 81, "column": 29 }, "end": { "line": 81, "column": 33 }, "identifierName": "left" }, "name": "left" }, "property": { "type": "Identifier", "start": 2013, "end": 2023, "loc": { "start": { "line": 81, "column": 34 }, "end": { "line": 81, "column": 44 }, "identifierName": "_bvh_max_x" }, "name": "_bvh_max_x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2030, "end": 2070, "loc": { "start": { "line": 82, "column": 5 }, "end": { "line": 82, "column": 45 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2036, "end": 2069, "loc": { "start": { "line": 82, "column": 11 }, "end": { "line": 82, "column": 44 } }, "id": { "type": "Identifier", "start": 2036, "end": 2046, "loc": { "start": { "line": 82, "column": 11 }, "end": { "line": 82, "column": 21 }, "identifierName": "left_max_y" }, "name": "left_max_y" }, "init": { "type": "MemberExpression", "start": 2054, "end": 2069, "loc": { "start": { "line": 82, "column": 29 }, "end": { "line": 82, "column": 44 } }, "object": { "type": "Identifier", "start": 2054, "end": 2058, "loc": { "start": { "line": 82, "column": 29 }, "end": { "line": 82, "column": 33 }, "identifierName": "left" }, "name": "left" }, "property": { "type": "Identifier", "start": 2059, "end": 2069, "loc": { "start": { "line": 82, "column": 34 }, "end": { "line": 82, "column": 44 }, "identifierName": "_bvh_max_y" }, "name": "_bvh_max_y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2076, "end": 2160, "loc": { "start": { "line": 83, "column": 5 }, "end": { "line": 83, "column": 89 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2082, "end": 2159, "loc": { "start": { "line": 83, "column": 11 }, "end": { "line": 83, "column": 88 } }, "id": { "type": "Identifier", "start": 2082, "end": 2096, "loc": { "start": { "line": 83, "column": 11 }, "end": { "line": 83, "column": 25 }, "identifierName": "left_new_min_x" }, "name": "left_new_min_x" }, "init": { "type": "ConditionalExpression", "start": 2100, "end": 2159, "loc": { "start": { "line": 83, "column": 29 }, "end": { "line": 83, "column": 88 } }, "test": { "type": "BinaryExpression", "start": 2100, "end": 2128, "loc": { "start": { "line": 83, "column": 29 }, "end": { "line": 83, "column": 57 } }, "left": { "type": "Identifier", "start": 2100, "end": 2110, "loc": { "start": { "line": 83, "column": 29 }, "end": { "line": 83, "column": 39 }, "identifierName": "body_min_x" }, "name": "body_min_x" }, "operator": "<", "right": { "type": "MemberExpression", "start": 2113, "end": 2128, "loc": { "start": { "line": 83, "column": 42 }, "end": { "line": 83, "column": 57 } }, "object": { "type": "Identifier", "start": 2113, "end": 2117, "loc": { "start": { "line": 83, "column": 42 }, "end": { "line": 83, "column": 46 }, "identifierName": "left" }, "name": "left" }, "property": { "type": "Identifier", "start": 2118, "end": 2128, "loc": { "start": { "line": 83, "column": 47 }, "end": { "line": 83, "column": 57 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false } }, "consequent": { "type": "Identifier", "start": 2131, "end": 2141, "loc": { "start": { "line": 83, "column": 60 }, "end": { "line": 83, "column": 70 }, "identifierName": "body_min_x" }, "name": "body_min_x" }, "alternate": { "type": "MemberExpression", "start": 2144, "end": 2159, "loc": { "start": { "line": 83, "column": 73 }, "end": { "line": 83, "column": 88 } }, "object": { "type": "Identifier", "start": 2144, "end": 2148, "loc": { "start": { "line": 83, "column": 73 }, "end": { "line": 83, "column": 77 }, "identifierName": "left" }, "name": "left" }, "property": { "type": "Identifier", "start": 2149, "end": 2159, "loc": { "start": { "line": 83, "column": 78 }, "end": { "line": 83, "column": 88 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2166, "end": 2240, "loc": { "start": { "line": 84, "column": 5 }, "end": { "line": 84, "column": 79 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2172, "end": 2239, "loc": { "start": { "line": 84, "column": 11 }, "end": { "line": 84, "column": 78 } }, "id": { "type": "Identifier", "start": 2172, "end": 2186, "loc": { "start": { "line": 84, "column": 11 }, "end": { "line": 84, "column": 25 }, "identifierName": "left_new_min_y" }, "name": "left_new_min_y" }, "init": { "type": "ConditionalExpression", "start": 2190, "end": 2239, "loc": { "start": { "line": 84, "column": 29 }, "end": { "line": 84, "column": 78 } }, "test": { "type": "BinaryExpression", "start": 2190, "end": 2213, "loc": { "start": { "line": 84, "column": 29 }, "end": { "line": 84, "column": 52 } }, "left": { "type": "Identifier", "start": 2190, "end": 2200, "loc": { "start": { "line": 84, "column": 29 }, "end": { "line": 84, "column": 39 }, "identifierName": "body_min_y" }, "name": "body_min_y" }, "operator": "<", "right": { "type": "Identifier", "start": 2203, "end": 2213, "loc": { "start": { "line": 84, "column": 42 }, "end": { "line": 84, "column": 52 }, "identifierName": "left_min_y" }, "name": "left_min_y" } }, "consequent": { "type": "Identifier", "start": 2216, "end": 2226, "loc": { "start": { "line": 84, "column": 55 }, "end": { "line": 84, "column": 65 }, "identifierName": "body_min_y" }, "name": "body_min_y" }, "alternate": { "type": "Identifier", "start": 2229, "end": 2239, "loc": { "start": { "line": 84, "column": 68 }, "end": { "line": 84, "column": 78 }, "identifierName": "left_min_y" }, "name": "left_min_y" } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2246, "end": 2320, "loc": { "start": { "line": 85, "column": 5 }, "end": { "line": 85, "column": 79 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2252, "end": 2319, "loc": { "start": { "line": 85, "column": 11 }, "end": { "line": 85, "column": 78 } }, "id": { "type": "Identifier", "start": 2252, "end": 2266, "loc": { "start": { "line": 85, "column": 11 }, "end": { "line": 85, "column": 25 }, "identifierName": "left_new_max_x" }, "name": "left_new_max_x" }, "init": { "type": "ConditionalExpression", "start": 2270, "end": 2319, "loc": { "start": { "line": 85, "column": 29 }, "end": { "line": 85, "column": 78 } }, "test": { "type": "BinaryExpression", "start": 2270, "end": 2293, "loc": { "start": { "line": 85, "column": 29 }, "end": { "line": 85, "column": 52 } }, "left": { "type": "Identifier", "start": 2270, "end": 2280, "loc": { "start": { "line": 85, "column": 29 }, "end": { "line": 85, "column": 39 }, "identifierName": "body_max_x" }, "name": "body_max_x" }, "operator": ">", "right": { "type": "Identifier", "start": 2283, "end": 2293, "loc": { "start": { "line": 85, "column": 42 }, "end": { "line": 85, "column": 52 }, "identifierName": "left_max_x" }, "name": "left_max_x" } }, "consequent": { "type": "Identifier", "start": 2296, "end": 2306, "loc": { "start": { "line": 85, "column": 55 }, "end": { "line": 85, "column": 65 }, "identifierName": "body_max_x" }, "name": "body_max_x" }, "alternate": { "type": "Identifier", "start": 2309, "end": 2319, "loc": { "start": { "line": 85, "column": 68 }, "end": { "line": 85, "column": 78 }, "identifierName": "left_max_x" }, "name": "left_max_x" } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2326, "end": 2400, "loc": { "start": { "line": 86, "column": 5 }, "end": { "line": 86, "column": 79 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2332, "end": 2399, "loc": { "start": { "line": 86, "column": 11 }, "end": { "line": 86, "column": 78 } }, "id": { "type": "Identifier", "start": 2332, "end": 2346, "loc": { "start": { "line": 86, "column": 11 }, "end": { "line": 86, "column": 25 }, "identifierName": "left_new_max_y" }, "name": "left_new_max_y" }, "init": { "type": "ConditionalExpression", "start": 2350, "end": 2399, "loc": { "start": { "line": 86, "column": 29 }, "end": { "line": 86, "column": 78 } }, "test": { "type": "BinaryExpression", "start": 2350, "end": 2373, "loc": { "start": { "line": 86, "column": 29 }, "end": { "line": 86, "column": 52 } }, "left": { "type": "Identifier", "start": 2350, "end": 2360, "loc": { "start": { "line": 86, "column": 29 }, "end": { "line": 86, "column": 39 }, "identifierName": "body_max_y" }, "name": "body_max_y" }, "operator": ">", "right": { "type": "Identifier", "start": 2363, "end": 2373, "loc": { "start": { "line": 86, "column": 42 }, "end": { "line": 86, "column": 52 }, "identifierName": "left_max_y" }, "name": "left_max_y" } }, "consequent": { "type": "Identifier", "start": 2376, "end": 2386, "loc": { "start": { "line": 86, "column": 55 }, "end": { "line": 86, "column": 65 }, "identifierName": "body_max_y" }, "name": "body_max_y" }, "alternate": { "type": "Identifier", "start": 2389, "end": 2399, "loc": { "start": { "line": 86, "column": 68 }, "end": { "line": 86, "column": 78 }, "identifierName": "left_max_y" }, "name": "left_max_y" } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2406, "end": 2489, "loc": { "start": { "line": 87, "column": 5 }, "end": { "line": 87, "column": 88 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2412, "end": 2488, "loc": { "start": { "line": 87, "column": 11 }, "end": { "line": 87, "column": 87 } }, "id": { "type": "Identifier", "start": 2412, "end": 2423, "loc": { "start": { "line": 87, "column": 11 }, "end": { "line": 87, "column": 22 }, "identifierName": "left_volume" }, "name": "left_volume" }, "init": { "type": "BinaryExpression", "start": 2430, "end": 2488, "loc": { "start": { "line": 87, "column": 29 }, "end": { "line": 87, "column": 87 } }, "left": { "type": "BinaryExpression", "start": 2431, "end": 2459, "loc": { "start": { "line": 87, "column": 30 }, "end": { "line": 87, "column": 58 } }, "left": { "type": "Identifier", "start": 2431, "end": 2441, "loc": { "start": { "line": 87, "column": 30 }, "end": { "line": 87, "column": 40 }, "identifierName": "left_max_x" }, "name": "left_max_x" }, "operator": "-", "right": { "type": "MemberExpression", "start": 2444, "end": 2459, "loc": { "start": { "line": 87, "column": 43 }, "end": { "line": 87, "column": 58 } }, "object": { "type": "Identifier", "start": 2444, "end": 2448, "loc": { "start": { "line": 87, "column": 43 }, "end": { "line": 87, "column": 47 }, "identifierName": "left" }, "name": "left" }, "property": { "type": "Identifier", "start": 2449, "end": 2459, "loc": { "start": { "line": 87, "column": 48 }, "end": { "line": 87, "column": 58 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false }, "extra": { "parenthesized": true, "parenStart": 2430 } }, "operator": "*", "right": { "type": "BinaryExpression", "start": 2464, "end": 2487, "loc": { "start": { "line": 87, "column": 63 }, "end": { "line": 87, "column": 86 } }, "left": { "type": "Identifier", "start": 2464, "end": 2474, "loc": { "start": { "line": 87, "column": 63 }, "end": { "line": 87, "column": 73 }, "identifierName": "left_max_y" }, "name": "left_max_y" }, "operator": "-", "right": { "type": "Identifier", "start": 2477, "end": 2487, "loc": { "start": { "line": 87, "column": 76 }, "end": { "line": 87, "column": 86 }, "identifierName": "left_min_y" }, "name": "left_min_y" }, "extra": { "parenthesized": true, "parenStart": 2463 } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2495, "end": 2589, "loc": { "start": { "line": 88, "column": 5 }, "end": { "line": 88, "column": 99 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2501, "end": 2588, "loc": { "start": { "line": 88, "column": 11 }, "end": { "line": 88, "column": 98 } }, "id": { "type": "Identifier", "start": 2501, "end": 2516, "loc": { "start": { "line": 88, "column": 11 }, "end": { "line": 88, "column": 26 }, "identifierName": "left_new_volume" }, "name": "left_new_volume" }, "init": { "type": "BinaryExpression", "start": 2519, "end": 2588, "loc": { "start": { "line": 88, "column": 29 }, "end": { "line": 88, "column": 98 } }, "left": { "type": "BinaryExpression", "start": 2520, "end": 2551, "loc": { "start": { "line": 88, "column": 30 }, "end": { "line": 88, "column": 61 } }, "left": { "type": "Identifier", "start": 2520, "end": 2534, "loc": { "start": { "line": 88, "column": 30 }, "end": { "line": 88, "column": 44 }, "identifierName": "left_new_max_x" }, "name": "left_new_max_x" }, "operator": "-", "right": { "type": "Identifier", "start": 2537, "end": 2551, "loc": { "start": { "line": 88, "column": 47 }, "end": { "line": 88, "column": 61 }, "identifierName": "left_new_min_x" }, "name": "left_new_min_x" }, "extra": { "parenthesized": true, "parenStart": 2519 } }, "operator": "*", "right": { "type": "BinaryExpression", "start": 2556, "end": 2587, "loc": { "start": { "line": 88, "column": 66 }, "end": { "line": 88, "column": 97 } }, "left": { "type": "Identifier", "start": 2556, "end": 2570, "loc": { "start": { "line": 88, "column": 66 }, "end": { "line": 88, "column": 80 }, "identifierName": "left_new_max_y" }, "name": "left_new_max_y" }, "operator": "-", "right": { "type": "Identifier", "start": 2573, "end": 2587, "loc": { "start": { "line": 88, "column": 83 }, "end": { "line": 88, "column": 97 }, "identifierName": "left_new_min_y" }, "name": "left_new_min_y" }, "extra": { "parenthesized": true, "parenStart": 2555 } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2595, "end": 2649, "loc": { "start": { "line": 89, "column": 5 }, "end": { "line": 89, "column": 59 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2601, "end": 2648, "loc": { "start": { "line": 89, "column": 11 }, "end": { "line": 89, "column": 58 } }, "id": { "type": "Identifier", "start": 2601, "end": 2616, "loc": { "start": { "line": 89, "column": 11 }, "end": { "line": 89, "column": 26 }, "identifierName": "left_difference" }, "name": "left_difference" }, "init": { "type": "BinaryExpression", "start": 2619, "end": 2648, "loc": { "start": { "line": 89, "column": 29 }, "end": { "line": 89, "column": 58 } }, "left": { "type": "Identifier", "start": 2619, "end": 2634, "loc": { "start": { "line": 89, "column": 29 }, "end": { "line": 89, "column": 44 }, "identifierName": "left_new_volume" }, "name": "left_new_volume" }, "operator": "-", "right": { "type": "Identifier", "start": 2637, "end": 2648, "loc": { "start": { "line": 89, "column": 47 }, "end": { "line": 89, "column": 58 }, "identifierName": "left_volume" }, "name": "left_volume" } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2656, "end": 2700, "loc": { "start": { "line": 91, "column": 5 }, "end": { "line": 91, "column": 49 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2662, "end": 2699, "loc": { "start": { "line": 91, "column": 11 }, "end": { "line": 91, "column": 48 } }, "id": { "type": "Identifier", "start": 2662, "end": 2667, "loc": { "start": { "line": 91, "column": 11 }, "end": { "line": 91, "column": 16 }, "identifierName": "right" }, "name": "right" }, "init": { "type": "MemberExpression", "start": 2681, "end": 2699, "loc": { "start": { "line": 91, "column": 30 }, "end": { "line": 91, "column": 48 } }, "object": { "type": "Identifier", "start": 2681, "end": 2688, "loc": { "start": { "line": 91, "column": 30 }, "end": { "line": 91, "column": 37 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 2689, "end": 2699, "loc": { "start": { "line": 91, "column": 38 }, "end": { "line": 91, "column": 48 }, "identifierName": "_bvh_right" }, "name": "_bvh_right" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2706, "end": 2748, "loc": { "start": { "line": 92, "column": 5 }, "end": { "line": 92, "column": 47 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2712, "end": 2747, "loc": { "start": { "line": 92, "column": 11 }, "end": { "line": 92, "column": 46 } }, "id": { "type": "Identifier", "start": 2712, "end": 2723, "loc": { "start": { "line": 92, "column": 11 }, "end": { "line": 92, "column": 22 }, "identifierName": "right_min_x" }, "name": "right_min_x" }, "init": { "type": "MemberExpression", "start": 2731, "end": 2747, "loc": { "start": { "line": 92, "column": 30 }, "end": { "line": 92, "column": 46 } }, "object": { "type": "Identifier", "start": 2731, "end": 2736, "loc": { "start": { "line": 92, "column": 30 }, "end": { "line": 92, "column": 35 }, "identifierName": "right" }, "name": "right" }, "property": { "type": "Identifier", "start": 2737, "end": 2747, "loc": { "start": { "line": 92, "column": 36 }, "end": { "line": 92, "column": 46 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2754, "end": 2796, "loc": { "start": { "line": 93, "column": 5 }, "end": { "line": 93, "column": 47 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2760, "end": 2795, "loc": { "start": { "line": 93, "column": 11 }, "end": { "line": 93, "column": 46 } }, "id": { "type": "Identifier", "start": 2760, "end": 2771, "loc": { "start": { "line": 93, "column": 11 }, "end": { "line": 93, "column": 22 }, "identifierName": "right_min_y" }, "name": "right_min_y" }, "init": { "type": "MemberExpression", "start": 2779, "end": 2795, "loc": { "start": { "line": 93, "column": 30 }, "end": { "line": 93, "column": 46 } }, "object": { "type": "Identifier", "start": 2779, "end": 2784, "loc": { "start": { "line": 93, "column": 30 }, "end": { "line": 93, "column": 35 }, "identifierName": "right" }, "name": "right" }, "property": { "type": "Identifier", "start": 2785, "end": 2795, "loc": { "start": { "line": 93, "column": 36 }, "end": { "line": 93, "column": 46 }, "identifierName": "_bvh_min_y" }, "name": "_bvh_min_y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2802, "end": 2844, "loc": { "start": { "line": 94, "column": 5 }, "end": { "line": 94, "column": 47 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2808, "end": 2843, "loc": { "start": { "line": 94, "column": 11 }, "end": { "line": 94, "column": 46 } }, "id": { "type": "Identifier", "start": 2808, "end": 2819, "loc": { "start": { "line": 94, "column": 11 }, "end": { "line": 94, "column": 22 }, "identifierName": "right_max_x" }, "name": "right_max_x" }, "init": { "type": "MemberExpression", "start": 2827, "end": 2843, "loc": { "start": { "line": 94, "column": 30 }, "end": { "line": 94, "column": 46 } }, "object": { "type": "Identifier", "start": 2827, "end": 2832, "loc": { "start": { "line": 94, "column": 30 }, "end": { "line": 94, "column": 35 }, "identifierName": "right" }, "name": "right" }, "property": { "type": "Identifier", "start": 2833, "end": 2843, "loc": { "start": { "line": 94, "column": 36 }, "end": { "line": 94, "column": 46 }, "identifierName": "_bvh_max_x" }, "name": "_bvh_max_x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2850, "end": 2892, "loc": { "start": { "line": 95, "column": 5 }, "end": { "line": 95, "column": 47 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2856, "end": 2891, "loc": { "start": { "line": 95, "column": 11 }, "end": { "line": 95, "column": 46 } }, "id": { "type": "Identifier", "start": 2856, "end": 2867, "loc": { "start": { "line": 95, "column": 11 }, "end": { "line": 95, "column": 22 }, "identifierName": "right_max_y" }, "name": "right_max_y" }, "init": { "type": "MemberExpression", "start": 2875, "end": 2891, "loc": { "start": { "line": 95, "column": 30 }, "end": { "line": 95, "column": 46 } }, "object": { "type": "Identifier", "start": 2875, "end": 2880, "loc": { "start": { "line": 95, "column": 30 }, "end": { "line": 95, "column": 35 }, "identifierName": "right" }, "name": "right" }, "property": { "type": "Identifier", "start": 2881, "end": 2891, "loc": { "start": { "line": 95, "column": 36 }, "end": { "line": 95, "column": 46 }, "identifierName": "_bvh_max_y" }, "name": "_bvh_max_y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2898, "end": 2975, "loc": { "start": { "line": 96, "column": 5 }, "end": { "line": 96, "column": 82 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2904, "end": 2974, "loc": { "start": { "line": 96, "column": 11 }, "end": { "line": 96, "column": 81 } }, "id": { "type": "Identifier", "start": 2904, "end": 2919, "loc": { "start": { "line": 96, "column": 11 }, "end": { "line": 96, "column": 26 }, "identifierName": "right_new_min_x" }, "name": "right_new_min_x" }, "init": { "type": "ConditionalExpression", "start": 2923, "end": 2974, "loc": { "start": { "line": 96, "column": 30 }, "end": { "line": 96, "column": 81 } }, "test": { "type": "BinaryExpression", "start": 2923, "end": 2947, "loc": { "start": { "line": 96, "column": 30 }, "end": { "line": 96, "column": 54 } }, "left": { "type": "Identifier", "start": 2923, "end": 2933, "loc": { "start": { "line": 96, "column": 30 }, "end": { "line": 96, "column": 40 }, "identifierName": "body_min_x" }, "name": "body_min_x" }, "operator": "<", "right": { "type": "Identifier", "start": 2936, "end": 2947, "loc": { "start": { "line": 96, "column": 43 }, "end": { "line": 96, "column": 54 }, "identifierName": "right_min_x" }, "name": "right_min_x" } }, "consequent": { "type": "Identifier", "start": 2950, "end": 2960, "loc": { "start": { "line": 96, "column": 57 }, "end": { "line": 96, "column": 67 }, "identifierName": "body_min_x" }, "name": "body_min_x" }, "alternate": { "type": "Identifier", "start": 2963, "end": 2974, "loc": { "start": { "line": 96, "column": 70 }, "end": { "line": 96, "column": 81 }, "identifierName": "right_min_x" }, "name": "right_min_x" } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2981, "end": 3058, "loc": { "start": { "line": 97, "column": 5 }, "end": { "line": 97, "column": 82 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2987, "end": 3057, "loc": { "start": { "line": 97, "column": 11 }, "end": { "line": 97, "column": 81 } }, "id": { "type": "Identifier", "start": 2987, "end": 3002, "loc": { "start": { "line": 97, "column": 11 }, "end": { "line": 97, "column": 26 }, "identifierName": "right_new_min_y" }, "name": "right_new_min_y" }, "init": { "type": "ConditionalExpression", "start": 3006, "end": 3057, "loc": { "start": { "line": 97, "column": 30 }, "end": { "line": 97, "column": 81 } }, "test": { "type": "BinaryExpression", "start": 3006, "end": 3030, "loc": { "start": { "line": 97, "column": 30 }, "end": { "line": 97, "column": 54 } }, "left": { "type": "Identifier", "start": 3006, "end": 3016, "loc": { "start": { "line": 97, "column": 30 }, "end": { "line": 97, "column": 40 }, "identifierName": "body_min_y" }, "name": "body_min_y" }, "operator": "<", "right": { "type": "Identifier", "start": 3019, "end": 3030, "loc": { "start": { "line": 97, "column": 43 }, "end": { "line": 97, "column": 54 }, "identifierName": "right_min_y" }, "name": "right_min_y" } }, "consequent": { "type": "Identifier", "start": 3033, "end": 3043, "loc": { "start": { "line": 97, "column": 57 }, "end": { "line": 97, "column": 67 }, "identifierName": "body_min_y" }, "name": "body_min_y" }, "alternate": { "type": "Identifier", "start": 3046, "end": 3057, "loc": { "start": { "line": 97, "column": 70 }, "end": { "line": 97, "column": 81 }, "identifierName": "right_min_y" }, "name": "right_min_y" } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3064, "end": 3141, "loc": { "start": { "line": 98, "column": 5 }, "end": { "line": 98, "column": 82 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3070, "end": 3140, "loc": { "start": { "line": 98, "column": 11 }, "end": { "line": 98, "column": 81 } }, "id": { "type": "Identifier", "start": 3070, "end": 3085, "loc": { "start": { "line": 98, "column": 11 }, "end": { "line": 98, "column": 26 }, "identifierName": "right_new_max_x" }, "name": "right_new_max_x" }, "init": { "type": "ConditionalExpression", "start": 3089, "end": 3140, "loc": { "start": { "line": 98, "column": 30 }, "end": { "line": 98, "column": 81 } }, "test": { "type": "BinaryExpression", "start": 3089, "end": 3113, "loc": { "start": { "line": 98, "column": 30 }, "end": { "line": 98, "column": 54 } }, "left": { "type": "Identifier", "start": 3089, "end": 3099, "loc": { "start": { "line": 98, "column": 30 }, "end": { "line": 98, "column": 40 }, "identifierName": "body_max_x" }, "name": "body_max_x" }, "operator": ">", "right": { "type": "Identifier", "start": 3102, "end": 3113, "loc": { "start": { "line": 98, "column": 43 }, "end": { "line": 98, "column": 54 }, "identifierName": "right_max_x" }, "name": "right_max_x" } }, "consequent": { "type": "Identifier", "start": 3116, "end": 3126, "loc": { "start": { "line": 98, "column": 57 }, "end": { "line": 98, "column": 67 }, "identifierName": "body_max_x" }, "name": "body_max_x" }, "alternate": { "type": "Identifier", "start": 3129, "end": 3140, "loc": { "start": { "line": 98, "column": 70 }, "end": { "line": 98, "column": 81 }, "identifierName": "right_max_x" }, "name": "right_max_x" } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3147, "end": 3224, "loc": { "start": { "line": 99, "column": 5 }, "end": { "line": 99, "column": 82 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3153, "end": 3223, "loc": { "start": { "line": 99, "column": 11 }, "end": { "line": 99, "column": 81 } }, "id": { "type": "Identifier", "start": 3153, "end": 3168, "loc": { "start": { "line": 99, "column": 11 }, "end": { "line": 99, "column": 26 }, "identifierName": "right_new_max_y" }, "name": "right_new_max_y" }, "init": { "type": "ConditionalExpression", "start": 3172, "end": 3223, "loc": { "start": { "line": 99, "column": 30 }, "end": { "line": 99, "column": 81 } }, "test": { "type": "BinaryExpression", "start": 3172, "end": 3196, "loc": { "start": { "line": 99, "column": 30 }, "end": { "line": 99, "column": 54 } }, "left": { "type": "Identifier", "start": 3172, "end": 3182, "loc": { "start": { "line": 99, "column": 30 }, "end": { "line": 99, "column": 40 }, "identifierName": "body_max_y" }, "name": "body_max_y" }, "operator": ">", "right": { "type": "Identifier", "start": 3185, "end": 3196, "loc": { "start": { "line": 99, "column": 43 }, "end": { "line": 99, "column": 54 }, "identifierName": "right_max_y" }, "name": "right_max_y" } }, "consequent": { "type": "Identifier", "start": 3199, "end": 3209, "loc": { "start": { "line": 99, "column": 57 }, "end": { "line": 99, "column": 67 }, "identifierName": "body_max_y" }, "name": "body_max_y" }, "alternate": { "type": "Identifier", "start": 3212, "end": 3223, "loc": { "start": { "line": 99, "column": 70 }, "end": { "line": 99, "column": 81 }, "identifierName": "right_max_y" }, "name": "right_max_y" } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3230, "end": 3313, "loc": { "start": { "line": 100, "column": 5 }, "end": { "line": 100, "column": 88 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3236, "end": 3312, "loc": { "start": { "line": 100, "column": 11 }, "end": { "line": 100, "column": 87 } }, "id": { "type": "Identifier", "start": 3236, "end": 3248, "loc": { "start": { "line": 100, "column": 11 }, "end": { "line": 100, "column": 23 }, "identifierName": "right_volume" }, "name": "right_volume" }, "init": { "type": "BinaryExpression", "start": 3255, "end": 3312, "loc": { "start": { "line": 100, "column": 30 }, "end": { "line": 100, "column": 87 } }, "left": { "type": "BinaryExpression", "start": 3256, "end": 3281, "loc": { "start": { "line": 100, "column": 31 }, "end": { "line": 100, "column": 56 } }, "left": { "type": "Identifier", "start": 3256, "end": 3267, "loc": { "start": { "line": 100, "column": 31 }, "end": { "line": 100, "column": 42 }, "identifierName": "right_max_x" }, "name": "right_max_x" }, "operator": "-", "right": { "type": "Identifier", "start": 3270, "end": 3281, "loc": { "start": { "line": 100, "column": 45 }, "end": { "line": 100, "column": 56 }, "identifierName": "right_min_x" }, "name": "right_min_x" }, "extra": { "parenthesized": true, "parenStart": 3255 } }, "operator": "*", "right": { "type": "BinaryExpression", "start": 3286, "end": 3311, "loc": { "start": { "line": 100, "column": 61 }, "end": { "line": 100, "column": 86 } }, "left": { "type": "Identifier", "start": 3286, "end": 3297, "loc": { "start": { "line": 100, "column": 61 }, "end": { "line": 100, "column": 72 }, "identifierName": "right_max_y" }, "name": "right_max_y" }, "operator": "-", "right": { "type": "Identifier", "start": 3300, "end": 3311, "loc": { "start": { "line": 100, "column": 75 }, "end": { "line": 100, "column": 86 }, "identifierName": "right_min_y" }, "name": "right_min_y" }, "extra": { "parenthesized": true, "parenStart": 3285 } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3319, "end": 3418, "loc": { "start": { "line": 101, "column": 5 }, "end": { "line": 101, "column": 104 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3325, "end": 3417, "loc": { "start": { "line": 101, "column": 11 }, "end": { "line": 101, "column": 103 } }, "id": { "type": "Identifier", "start": 3325, "end": 3341, "loc": { "start": { "line": 101, "column": 11 }, "end": { "line": 101, "column": 27 }, "identifierName": "right_new_volume" }, "name": "right_new_volume" }, "init": { "type": "BinaryExpression", "start": 3344, "end": 3417, "loc": { "start": { "line": 101, "column": 30 }, "end": { "line": 101, "column": 103 } }, "left": { "type": "BinaryExpression", "start": 3345, "end": 3378, "loc": { "start": { "line": 101, "column": 31 }, "end": { "line": 101, "column": 64 } }, "left": { "type": "Identifier", "start": 3345, "end": 3360, "loc": { "start": { "line": 101, "column": 31 }, "end": { "line": 101, "column": 46 }, "identifierName": "right_new_max_x" }, "name": "right_new_max_x" }, "operator": "-", "right": { "type": "Identifier", "start": 3363, "end": 3378, "loc": { "start": { "line": 101, "column": 49 }, "end": { "line": 101, "column": 64 }, "identifierName": "right_new_min_x" }, "name": "right_new_min_x" }, "extra": { "parenthesized": true, "parenStart": 3344 } }, "operator": "*", "right": { "type": "BinaryExpression", "start": 3383, "end": 3416, "loc": { "start": { "line": 101, "column": 69 }, "end": { "line": 101, "column": 102 } }, "left": { "type": "Identifier", "start": 3383, "end": 3398, "loc": { "start": { "line": 101, "column": 69 }, "end": { "line": 101, "column": 84 }, "identifierName": "right_new_max_y" }, "name": "right_new_max_y" }, "operator": "-", "right": { "type": "Identifier", "start": 3401, "end": 3416, "loc": { "start": { "line": 101, "column": 87 }, "end": { "line": 101, "column": 102 }, "identifierName": "right_new_min_y" }, "name": "right_new_min_y" }, "extra": { "parenthesized": true, "parenStart": 3382 } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3424, "end": 3481, "loc": { "start": { "line": 102, "column": 5 }, "end": { "line": 102, "column": 62 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3430, "end": 3480, "loc": { "start": { "line": 102, "column": 11 }, "end": { "line": 102, "column": 61 } }, "id": { "type": "Identifier", "start": 3430, "end": 3446, "loc": { "start": { "line": 102, "column": 11 }, "end": { "line": 102, "column": 27 }, "identifierName": "right_difference" }, "name": "right_difference" }, "init": { "type": "BinaryExpression", "start": 3449, "end": 3480, "loc": { "start": { "line": 102, "column": 30 }, "end": { "line": 102, "column": 61 } }, "left": { "type": "Identifier", "start": 3449, "end": 3465, "loc": { "start": { "line": 102, "column": 30 }, "end": { "line": 102, "column": 46 }, "identifierName": "right_new_volume" }, "name": "right_new_volume" }, "operator": "-", "right": { "type": "Identifier", "start": 3468, "end": 3480, "loc": { "start": { "line": 102, "column": 49 }, "end": { "line": 102, "column": 61 }, "identifierName": "right_volume" }, "name": "right_volume" } } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 3488, "end": 3516, "loc": { "start": { "line": 104, "column": 5 }, "end": { "line": 104, "column": 33 } }, "expression": { "type": "AssignmentExpression", "start": 3488, "end": 3515, "loc": { "start": { "line": 104, "column": 5 }, "end": { "line": 104, "column": 32 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 3488, "end": 3505, "loc": { "start": { "line": 104, "column": 5 }, "end": { "line": 104, "column": 22 } }, "object": { "type": "Identifier", "start": 3488, "end": 3495, "loc": { "start": { "line": 104, "column": 5 }, "end": { "line": 104, "column": 12 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 3496, "end": 3505, "loc": { "start": { "line": 104, "column": 13 }, "end": { "line": 104, "column": 22 }, "identifierName": "_bvh_sort" }, "name": "_bvh_sort" }, "computed": false }, "right": { "type": "UpdateExpression", "start": 3509, "end": 3515, "loc": { "start": { "line": 104, "column": 26 }, "end": { "line": 104, "column": 32 } }, "operator": "++", "prefix": false, "argument": { "type": "Identifier", "start": 3509, "end": 3513, "loc": { "start": { "line": 104, "column": 26 }, "end": { "line": 104, "column": 30 }, "identifierName": "sort" }, "name": "sort" } } } }, { "type": "ExpressionStatement", "start": 3522, "end": 3611, "loc": { "start": { "line": 105, "column": 5 }, "end": { "line": 105, "column": 94 } }, "expression": { "type": "AssignmentExpression", "start": 3522, "end": 3610, "loc": { "start": { "line": 105, "column": 5 }, "end": { "line": 105, "column": 93 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 3522, "end": 3540, "loc": { "start": { "line": 105, "column": 5 }, "end": { "line": 105, "column": 23 } }, "object": { "type": "Identifier", "start": 3522, "end": 3529, "loc": { "start": { "line": 105, "column": 5 }, "end": { "line": 105, "column": 12 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 3530, "end": 3540, "loc": { "start": { "line": 105, "column": 13 }, "end": { "line": 105, "column": 23 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false }, "right": { "type": "ConditionalExpression", "start": 3543, "end": 3610, "loc": { "start": { "line": 105, "column": 26 }, "end": { "line": 105, "column": 93 } }, "test": { "type": "BinaryExpression", "start": 3543, "end": 3575, "loc": { "start": { "line": 105, "column": 26 }, "end": { "line": 105, "column": 58 } }, "left": { "type": "Identifier", "start": 3543, "end": 3557, "loc": { "start": { "line": 105, "column": 26 }, "end": { "line": 105, "column": 40 }, "identifierName": "left_new_min_x" }, "name": "left_new_min_x" }, "operator": "<", "right": { "type": "Identifier", "start": 3560, "end": 3575, "loc": { "start": { "line": 105, "column": 43 }, "end": { "line": 105, "column": 58 }, "identifierName": "right_new_min_x" }, "name": "right_new_min_x" } }, "consequent": { "type": "Identifier", "start": 3578, "end": 3592, "loc": { "start": { "line": 105, "column": 61 }, "end": { "line": 105, "column": 75 }, "identifierName": "left_new_min_x" }, "name": "left_new_min_x" }, "alternate": { "type": "Identifier", "start": 3595, "end": 3610, "loc": { "start": { "line": 105, "column": 78 }, "end": { "line": 105, "column": 93 }, "identifierName": "right_new_min_x" }, "name": "right_new_min_x" } } } }, { "type": "ExpressionStatement", "start": 3617, "end": 3706, "loc": { "start": { "line": 106, "column": 5 }, "end": { "line": 106, "column": 94 } }, "expression": { "type": "AssignmentExpression", "start": 3617, "end": 3705, "loc": { "start": { "line": 106, "column": 5 }, "end": { "line": 106, "column": 93 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 3617, "end": 3635, "loc": { "start": { "line": 106, "column": 5 }, "end": { "line": 106, "column": 23 } }, "object": { "type": "Identifier", "start": 3617, "end": 3624, "loc": { "start": { "line": 106, "column": 5 }, "end": { "line": 106, "column": 12 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 3625, "end": 3635, "loc": { "start": { "line": 106, "column": 13 }, "end": { "line": 106, "column": 23 }, "identifierName": "_bvh_min_y" }, "name": "_bvh_min_y" }, "computed": false }, "right": { "type": "ConditionalExpression", "start": 3638, "end": 3705, "loc": { "start": { "line": 106, "column": 26 }, "end": { "line": 106, "column": 93 } }, "test": { "type": "BinaryExpression", "start": 3638, "end": 3670, "loc": { "start": { "line": 106, "column": 26 }, "end": { "line": 106, "column": 58 } }, "left": { "type": "Identifier", "start": 3638, "end": 3652, "loc": { "start": { "line": 106, "column": 26 }, "end": { "line": 106, "column": 40 }, "identifierName": "left_new_min_y" }, "name": "left_new_min_y" }, "operator": "<", "right": { "type": "Identifier", "start": 3655, "end": 3670, "loc": { "start": { "line": 106, "column": 43 }, "end": { "line": 106, "column": 58 }, "identifierName": "right_new_min_y" }, "name": "right_new_min_y" } }, "consequent": { "type": "Identifier", "start": 3673, "end": 3687, "loc": { "start": { "line": 106, "column": 61 }, "end": { "line": 106, "column": 75 }, "identifierName": "left_new_min_y" }, "name": "left_new_min_y" }, "alternate": { "type": "Identifier", "start": 3690, "end": 3705, "loc": { "start": { "line": 106, "column": 78 }, "end": { "line": 106, "column": 93 }, "identifierName": "right_new_min_y" }, "name": "right_new_min_y" } } } }, { "type": "ExpressionStatement", "start": 3712, "end": 3801, "loc": { "start": { "line": 107, "column": 5 }, "end": { "line": 107, "column": 94 } }, "expression": { "type": "AssignmentExpression", "start": 3712, "end": 3800, "loc": { "start": { "line": 107, "column": 5 }, "end": { "line": 107, "column": 93 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 3712, "end": 3730, "loc": { "start": { "line": 107, "column": 5 }, "end": { "line": 107, "column": 23 } }, "object": { "type": "Identifier", "start": 3712, "end": 3719, "loc": { "start": { "line": 107, "column": 5 }, "end": { "line": 107, "column": 12 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 3720, "end": 3730, "loc": { "start": { "line": 107, "column": 13 }, "end": { "line": 107, "column": 23 }, "identifierName": "_bvh_max_x" }, "name": "_bvh_max_x" }, "computed": false }, "right": { "type": "ConditionalExpression", "start": 3733, "end": 3800, "loc": { "start": { "line": 107, "column": 26 }, "end": { "line": 107, "column": 93 } }, "test": { "type": "BinaryExpression", "start": 3733, "end": 3765, "loc": { "start": { "line": 107, "column": 26 }, "end": { "line": 107, "column": 58 } }, "left": { "type": "Identifier", "start": 3733, "end": 3747, "loc": { "start": { "line": 107, "column": 26 }, "end": { "line": 107, "column": 40 }, "identifierName": "left_new_max_x" }, "name": "left_new_max_x" }, "operator": ">", "right": { "type": "Identifier", "start": 3750, "end": 3765, "loc": { "start": { "line": 107, "column": 43 }, "end": { "line": 107, "column": 58 }, "identifierName": "right_new_max_x" }, "name": "right_new_max_x" } }, "consequent": { "type": "Identifier", "start": 3768, "end": 3782, "loc": { "start": { "line": 107, "column": 61 }, "end": { "line": 107, "column": 75 }, "identifierName": "left_new_max_x" }, "name": "left_new_max_x" }, "alternate": { "type": "Identifier", "start": 3785, "end": 3800, "loc": { "start": { "line": 107, "column": 78 }, "end": { "line": 107, "column": 93 }, "identifierName": "right_new_max_x" }, "name": "right_new_max_x" } } } }, { "type": "ExpressionStatement", "start": 3807, "end": 3896, "loc": { "start": { "line": 108, "column": 5 }, "end": { "line": 108, "column": 94 } }, "expression": { "type": "AssignmentExpression", "start": 3807, "end": 3895, "loc": { "start": { "line": 108, "column": 5 }, "end": { "line": 108, "column": 93 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 3807, "end": 3825, "loc": { "start": { "line": 108, "column": 5 }, "end": { "line": 108, "column": 23 } }, "object": { "type": "Identifier", "start": 3807, "end": 3814, "loc": { "start": { "line": 108, "column": 5 }, "end": { "line": 108, "column": 12 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 3815, "end": 3825, "loc": { "start": { "line": 108, "column": 13 }, "end": { "line": 108, "column": 23 }, "identifierName": "_bvh_max_y" }, "name": "_bvh_max_y" }, "computed": false }, "right": { "type": "ConditionalExpression", "start": 3828, "end": 3895, "loc": { "start": { "line": 108, "column": 26 }, "end": { "line": 108, "column": 93 } }, "test": { "type": "BinaryExpression", "start": 3828, "end": 3860, "loc": { "start": { "line": 108, "column": 26 }, "end": { "line": 108, "column": 58 } }, "left": { "type": "Identifier", "start": 3828, "end": 3842, "loc": { "start": { "line": 108, "column": 26 }, "end": { "line": 108, "column": 40 }, "identifierName": "left_new_max_y" }, "name": "left_new_max_y" }, "operator": ">", "right": { "type": "Identifier", "start": 3845, "end": 3860, "loc": { "start": { "line": 108, "column": 43 }, "end": { "line": 108, "column": 58 }, "identifierName": "right_new_max_y" }, "name": "right_new_max_y" } }, "consequent": { "type": "Identifier", "start": 3863, "end": 3877, "loc": { "start": { "line": 108, "column": 61 }, "end": { "line": 108, "column": 75 }, "identifierName": "left_new_max_y" }, "name": "left_new_max_y" }, "alternate": { "type": "Identifier", "start": 3880, "end": 3895, "loc": { "start": { "line": 108, "column": 78 }, "end": { "line": 108, "column": 93 }, "identifierName": "right_new_max_y" }, "name": "right_new_max_y" } } } }, { "type": "ExpressionStatement", "start": 3903, "end": 3964, "loc": { "start": { "line": 110, "column": 5 }, "end": { "line": 110, "column": 66 } }, "expression": { "type": "AssignmentExpression", "start": 3903, "end": 3963, "loc": { "start": { "line": 110, "column": 5 }, "end": { "line": 110, "column": 65 } }, "operator": "=", "left": { "type": "Identifier", "start": 3903, "end": 3910, "loc": { "start": { "line": 110, "column": 5 }, "end": { "line": 110, "column": 12 }, "identifierName": "current" }, "name": "current" }, "right": { "type": "ConditionalExpression", "start": 3913, "end": 3963, "loc": { "start": { "line": 110, "column": 15 }, "end": { "line": 110, "column": 65 } }, "test": { "type": "BinaryExpression", "start": 3913, "end": 3948, "loc": { "start": { "line": 110, "column": 15 }, "end": { "line": 110, "column": 50 } }, "left": { "type": "Identifier", "start": 3913, "end": 3928, "loc": { "start": { "line": 110, "column": 15 }, "end": { "line": 110, "column": 30 }, "identifierName": "left_difference" }, "name": "left_difference" }, "operator": "<=", "right": { "type": "Identifier", "start": 3932, "end": 3948, "loc": { "start": { "line": 110, "column": 34 }, "end": { "line": 110, "column": 50 }, "identifierName": "right_difference" }, "name": "right_difference" } }, "consequent": { "type": "Identifier", "start": 3951, "end": 3955, "loc": { "start": { "line": 110, "column": 53 }, "end": { "line": 110, "column": 57 }, "identifierName": "left" }, "name": "left" }, "alternate": { "type": "Identifier", "start": 3958, "end": 3963, "loc": { "start": { "line": 110, "column": 60 }, "end": { "line": 110, "column": 65 }, "identifierName": "right" }, "name": "right" } } } } ], "directives": [], "trailingComments": [ { "type": "CommentLine", "value": " Leaf", "start": 3975, "end": 3982, "loc": { "start": { "line": 112, "column": 4 }, "end": { "line": 112, "column": 11 } } } ] }, "alternate": { "type": "BlockStatement", "start": 3992, "end": 5059, "loc": { "start": { "line": 113, "column": 9 }, "end": { "line": 141, "column": 5 } }, "body": [ { "type": "VariableDeclaration", "start": 3999, "end": 4040, "loc": { "start": { "line": 114, "column": 5 }, "end": { "line": 114, "column": 46 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4005, "end": 4039, "loc": { "start": { "line": 114, "column": 11 }, "end": { "line": 114, "column": 45 } }, "id": { "type": "Identifier", "start": 4005, "end": 4016, "loc": { "start": { "line": 114, "column": 11 }, "end": { "line": 114, "column": 22 }, "identifierName": "grandparent" }, "name": "grandparent", "leadingComments": null }, "init": { "type": "MemberExpression", "start": 4020, "end": 4039, "loc": { "start": { "line": 114, "column": 26 }, "end": { "line": 114, "column": 45 } }, "object": { "type": "Identifier", "start": 4020, "end": 4027, "loc": { "start": { "line": 114, "column": 26 }, "end": { "line": 114, "column": 33 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 4028, "end": 4039, "loc": { "start": { "line": 114, "column": 34 }, "end": { "line": 114, "column": 45 }, "identifierName": "_bvh_parent" }, "name": "_bvh_parent" }, "computed": false }, "leadingComments": null } ], "kind": "const", "leadingComments": null }, { "type": "VariableDeclaration", "start": 4046, "end": 4086, "loc": { "start": { "line": 115, "column": 5 }, "end": { "line": 115, "column": 45 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4052, "end": 4085, "loc": { "start": { "line": 115, "column": 11 }, "end": { "line": 115, "column": 44 } }, "id": { "type": "Identifier", "start": 4052, "end": 4064, "loc": { "start": { "line": 115, "column": 11 }, "end": { "line": 115, "column": 23 }, "identifierName": "parent_min_x" }, "name": "parent_min_x" }, "init": { "type": "MemberExpression", "start": 4067, "end": 4085, "loc": { "start": { "line": 115, "column": 26 }, "end": { "line": 115, "column": 44 } }, "object": { "type": "Identifier", "start": 4067, "end": 4074, "loc": { "start": { "line": 115, "column": 26 }, "end": { "line": 115, "column": 33 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 4075, "end": 4085, "loc": { "start": { "line": 115, "column": 34 }, "end": { "line": 115, "column": 44 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 4092, "end": 4132, "loc": { "start": { "line": 116, "column": 5 }, "end": { "line": 116, "column": 45 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4098, "end": 4131, "loc": { "start": { "line": 116, "column": 11 }, "end": { "line": 116, "column": 44 } }, "id": { "type": "Identifier", "start": 4098, "end": 4110, "loc": { "start": { "line": 116, "column": 11 }, "end": { "line": 116, "column": 23 }, "identifierName": "parent_min_y" }, "name": "parent_min_y" }, "init": { "type": "MemberExpression", "start": 4113, "end": 4131, "loc": { "start": { "line": 116, "column": 26 }, "end": { "line": 116, "column": 44 } }, "object": { "type": "Identifier", "start": 4113, "end": 4120, "loc": { "start": { "line": 116, "column": 26 }, "end": { "line": 116, "column": 33 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 4121, "end": 4131, "loc": { "start": { "line": 116, "column": 34 }, "end": { "line": 116, "column": 44 }, "identifierName": "_bvh_min_y" }, "name": "_bvh_min_y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 4138, "end": 4178, "loc": { "start": { "line": 117, "column": 5 }, "end": { "line": 117, "column": 45 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4144, "end": 4177, "loc": { "start": { "line": 117, "column": 11 }, "end": { "line": 117, "column": 44 } }, "id": { "type": "Identifier", "start": 4144, "end": 4156, "loc": { "start": { "line": 117, "column": 11 }, "end": { "line": 117, "column": 23 }, "identifierName": "parent_max_x" }, "name": "parent_max_x" }, "init": { "type": "MemberExpression", "start": 4159, "end": 4177, "loc": { "start": { "line": 117, "column": 26 }, "end": { "line": 117, "column": 44 } }, "object": { "type": "Identifier", "start": 4159, "end": 4166, "loc": { "start": { "line": 117, "column": 26 }, "end": { "line": 117, "column": 33 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 4167, "end": 4177, "loc": { "start": { "line": 117, "column": 34 }, "end": { "line": 117, "column": 44 }, "identifierName": "_bvh_max_x" }, "name": "_bvh_max_x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 4184, "end": 4224, "loc": { "start": { "line": 118, "column": 5 }, "end": { "line": 118, "column": 45 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4190, "end": 4223, "loc": { "start": { "line": 118, "column": 11 }, "end": { "line": 118, "column": 44 } }, "id": { "type": "Identifier", "start": 4190, "end": 4202, "loc": { "start": { "line": 118, "column": 11 }, "end": { "line": 118, "column": 23 }, "identifierName": "parent_max_y" }, "name": "parent_max_y" }, "init": { "type": "MemberExpression", "start": 4205, "end": 4223, "loc": { "start": { "line": 118, "column": 26 }, "end": { "line": 118, "column": 44 } }, "object": { "type": "Identifier", "start": 4205, "end": 4212, "loc": { "start": { "line": 118, "column": 26 }, "end": { "line": 118, "column": 33 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 4213, "end": 4223, "loc": { "start": { "line": 118, "column": 34 }, "end": { "line": 118, "column": 44 }, "identifierName": "_bvh_max_y" }, "name": "_bvh_max_y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 4230, "end": 4314, "loc": { "start": { "line": 119, "column": 5 }, "end": { "line": 119, "column": 89 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4236, "end": 4313, "loc": { "start": { "line": 119, "column": 11 }, "end": { "line": 119, "column": 88 } }, "id": { "type": "Identifier", "start": 4236, "end": 4246, "loc": { "start": { "line": 119, "column": 11 }, "end": { "line": 119, "column": 21 }, "identifierName": "new_parent" }, "name": "new_parent" }, "init": { "type": "AssignmentExpression", "start": 4251, "end": 4313, "loc": { "start": { "line": 119, "column": 26 }, "end": { "line": 119, "column": 88 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4251, "end": 4270, "loc": { "start": { "line": 119, "column": 26 }, "end": { "line": 119, "column": 45 } }, "object": { "type": "Identifier", "start": 4251, "end": 4258, "loc": { "start": { "line": 119, "column": 26 }, "end": { "line": 119, "column": 33 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 4259, "end": 4270, "loc": { "start": { "line": 119, "column": 34 }, "end": { "line": 119, "column": 45 }, "identifierName": "_bvh_parent" }, "name": "_bvh_parent" }, "computed": false }, "right": { "type": "AssignmentExpression", "start": 4273, "end": 4313, "loc": { "start": { "line": 119, "column": 48 }, "end": { "line": 119, "column": 88 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4273, "end": 4289, "loc": { "start": { "line": 119, "column": 48 }, "end": { "line": 119, "column": 64 } }, "object": { "type": "Identifier", "start": 4273, "end": 4277, "loc": { "start": { "line": 119, "column": 48 }, "end": { "line": 119, "column": 52 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 4278, "end": 4289, "loc": { "start": { "line": 119, "column": 53 }, "end": { "line": 119, "column": 64 }, "identifierName": "_bvh_parent" }, "name": "_bvh_parent" }, "computed": false }, "right": { "type": "CallExpression", "start": 4292, "end": 4313, "loc": { "start": { "line": 119, "column": 67 }, "end": { "line": 119, "column": 88 } }, "callee": { "type": "MemberExpression", "start": 4292, "end": 4311, "loc": { "start": { "line": 119, "column": 67 }, "end": { "line": 119, "column": 86 } }, "object": { "type": "Identifier", "start": 4292, "end": 4301, "loc": { "start": { "line": 119, "column": 67 }, "end": { "line": 119, "column": 76 }, "identifierName": "BVHBranch" }, "name": "BVHBranch" }, "property": { "type": "Identifier", "start": 4302, "end": 4311, "loc": { "start": { "line": 119, "column": 77 }, "end": { "line": 119, "column": 86 }, "identifierName": "getBranch" }, "name": "getBranch" }, "computed": false }, "arguments": [] } } } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 4321, "end": 4358, "loc": { "start": { "line": 121, "column": 5 }, "end": { "line": 121, "column": 42 } }, "expression": { "type": "AssignmentExpression", "start": 4321, "end": 4357, "loc": { "start": { "line": 121, "column": 5 }, "end": { "line": 121, "column": 41 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4321, "end": 4343, "loc": { "start": { "line": 121, "column": 5 }, "end": { "line": 121, "column": 27 } }, "object": { "type": "Identifier", "start": 4321, "end": 4331, "loc": { "start": { "line": 121, "column": 5 }, "end": { "line": 121, "column": 15 }, "identifierName": "new_parent" }, "name": "new_parent" }, "property": { "type": "Identifier", "start": 4332, "end": 4343, "loc": { "start": { "line": 121, "column": 16 }, "end": { "line": 121, "column": 27 }, "identifierName": "_bvh_parent" }, "name": "_bvh_parent" }, "computed": false }, "right": { "type": "Identifier", "start": 4346, "end": 4357, "loc": { "start": { "line": 121, "column": 30 }, "end": { "line": 121, "column": 41 }, "identifierName": "grandparent" }, "name": "grandparent" } } }, { "type": "ExpressionStatement", "start": 4364, "end": 4397, "loc": { "start": { "line": 122, "column": 5 }, "end": { "line": 122, "column": 38 } }, "expression": { "type": "AssignmentExpression", "start": 4364, "end": 4396, "loc": { "start": { "line": 122, "column": 5 }, "end": { "line": 122, "column": 37 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4364, "end": 4384, "loc": { "start": { "line": 122, "column": 5 }, "end": { "line": 122, "column": 25 } }, "object": { "type": "Identifier", "start": 4364, "end": 4374, "loc": { "start": { "line": 122, "column": 5 }, "end": { "line": 122, "column": 15 }, "identifierName": "new_parent" }, "name": "new_parent" }, "property": { "type": "Identifier", "start": 4375, "end": 4384, "loc": { "start": { "line": 122, "column": 16 }, "end": { "line": 122, "column": 25 }, "identifierName": "_bvh_left" }, "name": "_bvh_left" }, "computed": false }, "right": { "type": "Identifier", "start": 4389, "end": 4396, "loc": { "start": { "line": 122, "column": 30 }, "end": { "line": 122, "column": 37 }, "identifierName": "current" }, "name": "current" } } }, { "type": "ExpressionStatement", "start": 4403, "end": 4433, "loc": { "start": { "line": 123, "column": 5 }, "end": { "line": 123, "column": 35 } }, "expression": { "type": "AssignmentExpression", "start": 4403, "end": 4432, "loc": { "start": { "line": 123, "column": 5 }, "end": { "line": 123, "column": 34 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4403, "end": 4424, "loc": { "start": { "line": 123, "column": 5 }, "end": { "line": 123, "column": 26 } }, "object": { "type": "Identifier", "start": 4403, "end": 4413, "loc": { "start": { "line": 123, "column": 5 }, "end": { "line": 123, "column": 15 }, "identifierName": "new_parent" }, "name": "new_parent" }, "property": { "type": "Identifier", "start": 4414, "end": 4424, "loc": { "start": { "line": 123, "column": 16 }, "end": { "line": 123, "column": 26 }, "identifierName": "_bvh_right" }, "name": "_bvh_right" }, "computed": false }, "right": { "type": "Identifier", "start": 4428, "end": 4432, "loc": { "start": { "line": 123, "column": 30 }, "end": { "line": 123, "column": 34 }, "identifierName": "body" }, "name": "body" } } }, { "type": "ExpressionStatement", "start": 4439, "end": 4471, "loc": { "start": { "line": 124, "column": 5 }, "end": { "line": 124, "column": 37 } }, "expression": { "type": "AssignmentExpression", "start": 4439, "end": 4470, "loc": { "start": { "line": 124, "column": 5 }, "end": { "line": 124, "column": 36 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4439, "end": 4459, "loc": { "start": { "line": 124, "column": 5 }, "end": { "line": 124, "column": 25 } }, "object": { "type": "Identifier", "start": 4439, "end": 4449, "loc": { "start": { "line": 124, "column": 5 }, "end": { "line": 124, "column": 15 }, "identifierName": "new_parent" }, "name": "new_parent" }, "property": { "type": "Identifier", "start": 4450, "end": 4459, "loc": { "start": { "line": 124, "column": 16 }, "end": { "line": 124, "column": 25 }, "identifierName": "_bvh_sort" }, "name": "_bvh_sort" }, "computed": false }, "right": { "type": "UpdateExpression", "start": 4464, "end": 4470, "loc": { "start": { "line": 124, "column": 30 }, "end": { "line": 124, "column": 36 } }, "operator": "++", "prefix": false, "argument": { "type": "Identifier", "start": 4464, "end": 4468, "loc": { "start": { "line": 124, "column": 30 }, "end": { "line": 124, "column": 34 }, "identifierName": "sort" }, "name": "sort" } } } }, { "type": "ExpressionStatement", "start": 4477, "end": 4556, "loc": { "start": { "line": 125, "column": 5 }, "end": { "line": 125, "column": 84 } }, "expression": { "type": "AssignmentExpression", "start": 4477, "end": 4555, "loc": { "start": { "line": 125, "column": 5 }, "end": { "line": 125, "column": 83 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4477, "end": 4498, "loc": { "start": { "line": 125, "column": 5 }, "end": { "line": 125, "column": 26 } }, "object": { "type": "Identifier", "start": 4477, "end": 4487, "loc": { "start": { "line": 125, "column": 5 }, "end": { "line": 125, "column": 15 }, "identifierName": "new_parent" }, "name": "new_parent" }, "property": { "type": "Identifier", "start": 4488, "end": 4498, "loc": { "start": { "line": 125, "column": 16 }, "end": { "line": 125, "column": 26 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false }, "right": { "type": "ConditionalExpression", "start": 4502, "end": 4555, "loc": { "start": { "line": 125, "column": 30 }, "end": { "line": 125, "column": 83 } }, "test": { "type": "BinaryExpression", "start": 4502, "end": 4527, "loc": { "start": { "line": 125, "column": 30 }, "end": { "line": 125, "column": 55 } }, "left": { "type": "Identifier", "start": 4502, "end": 4512, "loc": { "start": { "line": 125, "column": 30 }, "end": { "line": 125, "column": 40 }, "identifierName": "body_min_x" }, "name": "body_min_x" }, "operator": "<", "right": { "type": "Identifier", "start": 4515, "end": 4527, "loc": { "start": { "line": 125, "column": 43 }, "end": { "line": 125, "column": 55 }, "identifierName": "parent_min_x" }, "name": "parent_min_x" } }, "consequent": { "type": "Identifier", "start": 4530, "end": 4540, "loc": { "start": { "line": 125, "column": 58 }, "end": { "line": 125, "column": 68 }, "identifierName": "body_min_x" }, "name": "body_min_x" }, "alternate": { "type": "Identifier", "start": 4543, "end": 4555, "loc": { "start": { "line": 125, "column": 71 }, "end": { "line": 125, "column": 83 }, "identifierName": "parent_min_x" }, "name": "parent_min_x" } } } }, { "type": "ExpressionStatement", "start": 4562, "end": 4641, "loc": { "start": { "line": 126, "column": 5 }, "end": { "line": 126, "column": 84 } }, "expression": { "type": "AssignmentExpression", "start": 4562, "end": 4640, "loc": { "start": { "line": 126, "column": 5 }, "end": { "line": 126, "column": 83 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4562, "end": 4583, "loc": { "start": { "line": 126, "column": 5 }, "end": { "line": 126, "column": 26 } }, "object": { "type": "Identifier", "start": 4562, "end": 4572, "loc": { "start": { "line": 126, "column": 5 }, "end": { "line": 126, "column": 15 }, "identifierName": "new_parent" }, "name": "new_parent" }, "property": { "type": "Identifier", "start": 4573, "end": 4583, "loc": { "start": { "line": 126, "column": 16 }, "end": { "line": 126, "column": 26 }, "identifierName": "_bvh_min_y" }, "name": "_bvh_min_y" }, "computed": false }, "right": { "type": "ConditionalExpression", "start": 4587, "end": 4640, "loc": { "start": { "line": 126, "column": 30 }, "end": { "line": 126, "column": 83 } }, "test": { "type": "BinaryExpression", "start": 4587, "end": 4612, "loc": { "start": { "line": 126, "column": 30 }, "end": { "line": 126, "column": 55 } }, "left": { "type": "Identifier", "start": 4587, "end": 4597, "loc": { "start": { "line": 126, "column": 30 }, "end": { "line": 126, "column": 40 }, "identifierName": "body_min_y" }, "name": "body_min_y" }, "operator": "<", "right": { "type": "Identifier", "start": 4600, "end": 4612, "loc": { "start": { "line": 126, "column": 43 }, "end": { "line": 126, "column": 55 }, "identifierName": "parent_min_y" }, "name": "parent_min_y" } }, "consequent": { "type": "Identifier", "start": 4615, "end": 4625, "loc": { "start": { "line": 126, "column": 58 }, "end": { "line": 126, "column": 68 }, "identifierName": "body_min_y" }, "name": "body_min_y" }, "alternate": { "type": "Identifier", "start": 4628, "end": 4640, "loc": { "start": { "line": 126, "column": 71 }, "end": { "line": 126, "column": 83 }, "identifierName": "parent_min_y" }, "name": "parent_min_y" } } } }, { "type": "ExpressionStatement", "start": 4647, "end": 4726, "loc": { "start": { "line": 127, "column": 5 }, "end": { "line": 127, "column": 84 } }, "expression": { "type": "AssignmentExpression", "start": 4647, "end": 4725, "loc": { "start": { "line": 127, "column": 5 }, "end": { "line": 127, "column": 83 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4647, "end": 4668, "loc": { "start": { "line": 127, "column": 5 }, "end": { "line": 127, "column": 26 } }, "object": { "type": "Identifier", "start": 4647, "end": 4657, "loc": { "start": { "line": 127, "column": 5 }, "end": { "line": 127, "column": 15 }, "identifierName": "new_parent" }, "name": "new_parent" }, "property": { "type": "Identifier", "start": 4658, "end": 4668, "loc": { "start": { "line": 127, "column": 16 }, "end": { "line": 127, "column": 26 }, "identifierName": "_bvh_max_x" }, "name": "_bvh_max_x" }, "computed": false }, "right": { "type": "ConditionalExpression", "start": 4672, "end": 4725, "loc": { "start": { "line": 127, "column": 30 }, "end": { "line": 127, "column": 83 } }, "test": { "type": "BinaryExpression", "start": 4672, "end": 4697, "loc": { "start": { "line": 127, "column": 30 }, "end": { "line": 127, "column": 55 } }, "left": { "type": "Identifier", "start": 4672, "end": 4682, "loc": { "start": { "line": 127, "column": 30 }, "end": { "line": 127, "column": 40 }, "identifierName": "body_max_x" }, "name": "body_max_x" }, "operator": ">", "right": { "type": "Identifier", "start": 4685, "end": 4697, "loc": { "start": { "line": 127, "column": 43 }, "end": { "line": 127, "column": 55 }, "identifierName": "parent_max_x" }, "name": "parent_max_x" } }, "consequent": { "type": "Identifier", "start": 4700, "end": 4710, "loc": { "start": { "line": 127, "column": 58 }, "end": { "line": 127, "column": 68 }, "identifierName": "body_max_x" }, "name": "body_max_x" }, "alternate": { "type": "Identifier", "start": 4713, "end": 4725, "loc": { "start": { "line": 127, "column": 71 }, "end": { "line": 127, "column": 83 }, "identifierName": "parent_max_x" }, "name": "parent_max_x" } } } }, { "type": "ExpressionStatement", "start": 4732, "end": 4811, "loc": { "start": { "line": 128, "column": 5 }, "end": { "line": 128, "column": 84 } }, "expression": { "type": "AssignmentExpression", "start": 4732, "end": 4810, "loc": { "start": { "line": 128, "column": 5 }, "end": { "line": 128, "column": 83 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4732, "end": 4753, "loc": { "start": { "line": 128, "column": 5 }, "end": { "line": 128, "column": 26 } }, "object": { "type": "Identifier", "start": 4732, "end": 4742, "loc": { "start": { "line": 128, "column": 5 }, "end": { "line": 128, "column": 15 }, "identifierName": "new_parent" }, "name": "new_parent" }, "property": { "type": "Identifier", "start": 4743, "end": 4753, "loc": { "start": { "line": 128, "column": 16 }, "end": { "line": 128, "column": 26 }, "identifierName": "_bvh_max_y" }, "name": "_bvh_max_y" }, "computed": false }, "right": { "type": "ConditionalExpression", "start": 4757, "end": 4810, "loc": { "start": { "line": 128, "column": 30 }, "end": { "line": 128, "column": 83 } }, "test": { "type": "BinaryExpression", "start": 4757, "end": 4782, "loc": { "start": { "line": 128, "column": 30 }, "end": { "line": 128, "column": 55 } }, "left": { "type": "Identifier", "start": 4757, "end": 4767, "loc": { "start": { "line": 128, "column": 30 }, "end": { "line": 128, "column": 40 }, "identifierName": "body_max_y" }, "name": "body_max_y" }, "operator": ">", "right": { "type": "Identifier", "start": 4770, "end": 4782, "loc": { "start": { "line": 128, "column": 43 }, "end": { "line": 128, "column": 55 }, "identifierName": "parent_max_y" }, "name": "parent_max_y" } }, "consequent": { "type": "Identifier", "start": 4785, "end": 4795, "loc": { "start": { "line": 128, "column": 58 }, "end": { "line": 128, "column": 68 }, "identifierName": "body_max_y" }, "name": "body_max_y" }, "alternate": { "type": "Identifier", "start": 4798, "end": 4810, "loc": { "start": { "line": 128, "column": 71 }, "end": { "line": 128, "column": 83 }, "identifierName": "parent_max_y" }, "name": "parent_max_y" } } } }, { "type": "IfStatement", "start": 4818, "end": 5040, "loc": { "start": { "line": 130, "column": 5 }, "end": { "line": 138, "column": 6 } }, "test": { "type": "UnaryExpression", "start": 4821, "end": 4833, "loc": { "start": { "line": 130, "column": 8 }, "end": { "line": 130, "column": 20 } }, "operator": "!", "prefix": true, "argument": { "type": "Identifier", "start": 4822, "end": 4833, "loc": { "start": { "line": 130, "column": 9 }, "end": { "line": 130, "column": 20 }, "identifierName": "grandparent" }, "name": "grandparent" }, "extra": { "parenthesizedArgument": false } }, "consequent": { "type": "BlockStatement", "start": 4835, "end": 4879, "loc": { "start": { "line": 130, "column": 22 }, "end": { "line": 132, "column": 6 } }, "body": [ { "type": "ExpressionStatement", "start": 4843, "end": 4872, "loc": { "start": { "line": 131, "column": 6 }, "end": { "line": 131, "column": 35 } }, "expression": { "type": "AssignmentExpression", "start": 4843, "end": 4871, "loc": { "start": { "line": 131, "column": 6 }, "end": { "line": 131, "column": 34 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4843, "end": 4858, "loc": { "start": { "line": 131, "column": 6 }, "end": { "line": 131, "column": 21 } }, "object": { "type": "ThisExpression", "start": 4843, "end": 4847, "loc": { "start": { "line": 131, "column": 6 }, "end": { "line": 131, "column": 10 } } }, "property": { "type": "Identifier", "start": 4848, "end": 4858, "loc": { "start": { "line": 131, "column": 11 }, "end": { "line": 131, "column": 21 }, "identifierName": "_hierarchy" }, "name": "_hierarchy" }, "computed": false }, "right": { "type": "Identifier", "start": 4861, "end": 4871, "loc": { "start": { "line": 131, "column": 24 }, "end": { "line": 131, "column": 34 }, "identifierName": "new_parent" }, "name": "new_parent" } } } ], "directives": [] }, "alternate": { "type": "IfStatement", "start": 4890, "end": 5040, "loc": { "start": { "line": 133, "column": 10 }, "end": { "line": 138, "column": 6 } }, "test": { "type": "BinaryExpression", "start": 4893, "end": 4926, "loc": { "start": { "line": 133, "column": 13 }, "end": { "line": 133, "column": 46 } }, "left": { "type": "MemberExpression", "start": 4893, "end": 4914, "loc": { "start": { "line": 133, "column": 13 }, "end": { "line": 133, "column": 34 } }, "object": { "type": "Identifier", "start": 4893, "end": 4904, "loc": { "start": { "line": 133, "column": 13 }, "end": { "line": 133, "column": 24 }, "identifierName": "grandparent" }, "name": "grandparent" }, "property": { "type": "Identifier", "start": 4905, "end": 4914, "loc": { "start": { "line": 133, "column": 25 }, "end": { "line": 133, "column": 34 }, "identifierName": "_bvh_left" }, "name": "_bvh_left" }, "computed": false }, "operator": "===", "right": { "type": "Identifier", "start": 4919, "end": 4926, "loc": { "start": { "line": 133, "column": 39 }, "end": { "line": 133, "column": 46 }, "identifierName": "current" }, "name": "current" } }, "consequent": { "type": "BlockStatement", "start": 4928, "end": 4978, "loc": { "start": { "line": 133, "column": 48 }, "end": { "line": 135, "column": 6 } }, "body": [ { "type": "ExpressionStatement", "start": 4936, "end": 4971, "loc": { "start": { "line": 134, "column": 6 }, "end": { "line": 134, "column": 41 } }, "expression": { "type": "AssignmentExpression", "start": 4936, "end": 4970, "loc": { "start": { "line": 134, "column": 6 }, "end": { "line": 134, "column": 40 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4936, "end": 4957, "loc": { "start": { "line": 134, "column": 6 }, "end": { "line": 134, "column": 27 } }, "object": { "type": "Identifier", "start": 4936, "end": 4947, "loc": { "start": { "line": 134, "column": 6 }, "end": { "line": 134, "column": 17 }, "identifierName": "grandparent" }, "name": "grandparent" }, "property": { "type": "Identifier", "start": 4948, "end": 4957, "loc": { "start": { "line": 134, "column": 18 }, "end": { "line": 134, "column": 27 }, "identifierName": "_bvh_left" }, "name": "_bvh_left" }, "computed": false }, "right": { "type": "Identifier", "start": 4960, "end": 4970, "loc": { "start": { "line": 134, "column": 30 }, "end": { "line": 134, "column": 40 }, "identifierName": "new_parent" }, "name": "new_parent" } } } ], "directives": [] }, "alternate": { "type": "BlockStatement", "start": 4989, "end": 5040, "loc": { "start": { "line": 136, "column": 10 }, "end": { "line": 138, "column": 6 } }, "body": [ { "type": "ExpressionStatement", "start": 4997, "end": 5033, "loc": { "start": { "line": 137, "column": 6 }, "end": { "line": 137, "column": 42 } }, "expression": { "type": "AssignmentExpression", "start": 4997, "end": 5032, "loc": { "start": { "line": 137, "column": 6 }, "end": { "line": 137, "column": 41 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4997, "end": 5019, "loc": { "start": { "line": 137, "column": 6 }, "end": { "line": 137, "column": 28 } }, "object": { "type": "Identifier", "start": 4997, "end": 5008, "loc": { "start": { "line": 137, "column": 6 }, "end": { "line": 137, "column": 17 }, "identifierName": "grandparent" }, "name": "grandparent" }, "property": { "type": "Identifier", "start": 5009, "end": 5019, "loc": { "start": { "line": 137, "column": 18 }, "end": { "line": 137, "column": 28 }, "identifierName": "_bvh_right" }, "name": "_bvh_right" }, "computed": false }, "right": { "type": "Identifier", "start": 5022, "end": 5032, "loc": { "start": { "line": 137, "column": 31 }, "end": { "line": 137, "column": 41 }, "identifierName": "new_parent" }, "name": "new_parent" } } } ], "directives": [] } } }, { "type": "BreakStatement", "start": 5047, "end": 5053, "loc": { "start": { "line": 140, "column": 5 }, "end": { "line": 140, "column": 11 } }, "label": null } ], "directives": [], "leadingComments": [ { "type": "CommentLine", "value": " Leaf", "start": 3975, "end": 3982, "loc": { "start": { "line": 112, "column": 4 }, "end": { "line": 112, "column": 11 } } } ] }, "leadingComments": [ { "type": "CommentLine", "value": " Branch", "start": 1845, "end": 1854, "loc": { "start": { "line": 77, "column": 4 }, "end": { "line": 77, "column": 13 } } } ] } ], "directives": [] } } ], "directives": [] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Inserts a body into the BVH\n\t * @param {Circle|Polygon|Point} body The body to insert\n\t * @param {Boolean} [updating = false] Set to true if the body already exists in the BVH (used internally when updating the body's position)\n\t ", "start": 359, "end": 599, "loc": { "start": { "line": 23, "column": 1 }, "end": { "line": 27, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Removes a body from the BVH\n\t * @param {Circle|Polygon|Point} body The body to remove\n\t * @param {Boolean} [updating = false] Set to true if this is a temporary removal (used internally when updating the body's position)\n\t ", "start": 5074, "end": 5307, "loc": { "start": { "line": 146, "column": 1 }, "end": { "line": 150, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 5309, "end": 7015, "loc": { "start": { "line": 151, "column": 1 }, "end": { "line": 216, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 5309, "end": 5315, "loc": { "start": { "line": 151, "column": 1 }, "end": { "line": 151, "column": 7 }, "identifierName": "remove" }, "name": "remove", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 5316, "end": 5320, "loc": { "start": { "line": 151, "column": 8 }, "end": { "line": 151, "column": 12 }, "identifierName": "body" }, "name": "body" }, { "type": "AssignmentPattern", "start": 5322, "end": 5338, "loc": { "start": { "line": 151, "column": 14 }, "end": { "line": 151, "column": 30 } }, "left": { "type": "Identifier", "start": 5322, "end": 5330, "loc": { "start": { "line": 151, "column": 14 }, "end": { "line": 151, "column": 22 }, "identifierName": "updating" }, "name": "updating" }, "right": { "type": "BooleanLiteral", "start": 5333, "end": 5338, "loc": { "start": { "line": 151, "column": 25 }, "end": { "line": 151, "column": 30 } }, "value": false } } ], "body": { "type": "BlockStatement", "start": 5340, "end": 7015, "loc": { "start": { "line": 151, "column": 32 }, "end": { "line": 216, "column": 2 } }, "body": [ { "type": "IfStatement", "start": 5344, "end": 5566, "loc": { "start": { "line": 152, "column": 2 }, "end": { "line": 161, "column": 3 } }, "test": { "type": "UnaryExpression", "start": 5347, "end": 5356, "loc": { "start": { "line": 152, "column": 5 }, "end": { "line": 152, "column": 14 } }, "operator": "!", "prefix": true, "argument": { "type": "Identifier", "start": 5348, "end": 5356, "loc": { "start": { "line": 152, "column": 6 }, "end": { "line": 152, "column": 14 }, "identifierName": "updating" }, "name": "updating" }, "extra": { "parenthesizedArgument": false } }, "consequent": { "type": "BlockStatement", "start": 5358, "end": 5566, "loc": { "start": { "line": 152, "column": 16 }, "end": { "line": 161, "column": 3 } }, "body": [ { "type": "VariableDeclaration", "start": 5363, "end": 5385, "loc": { "start": { "line": 153, "column": 3 }, "end": { "line": 153, "column": 25 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5369, "end": 5384, "loc": { "start": { "line": 153, "column": 9 }, "end": { "line": 153, "column": 24 } }, "id": { "type": "Identifier", "start": 5369, "end": 5372, "loc": { "start": { "line": 153, "column": 9 }, "end": { "line": 153, "column": 12 }, "identifierName": "bvh" }, "name": "bvh" }, "init": { "type": "MemberExpression", "start": 5375, "end": 5384, "loc": { "start": { "line": 153, "column": 15 }, "end": { "line": 153, "column": 24 } }, "object": { "type": "Identifier", "start": 5375, "end": 5379, "loc": { "start": { "line": 153, "column": 15 }, "end": { "line": 153, "column": 19 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 5380, "end": 5384, "loc": { "start": { "line": 153, "column": 20 }, "end": { "line": 153, "column": 24 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false } } ], "kind": "const" }, { "type": "IfStatement", "start": 5390, "end": 5485, "loc": { "start": { "line": 155, "column": 3 }, "end": { "line": 157, "column": 4 } }, "test": { "type": "LogicalExpression", "start": 5393, "end": 5412, "loc": { "start": { "line": 155, "column": 6 }, "end": { "line": 155, "column": 25 } }, "left": { "type": "Identifier", "start": 5393, "end": 5396, "loc": { "start": { "line": 155, "column": 6 }, "end": { "line": 155, "column": 9 }, "identifierName": "bvh" }, "name": "bvh" }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 5400, "end": 5412, "loc": { "start": { "line": 155, "column": 13 }, "end": { "line": 155, "column": 25 } }, "left": { "type": "Identifier", "start": 5400, "end": 5403, "loc": { "start": { "line": 155, "column": 13 }, "end": { "line": 155, "column": 16 }, "identifierName": "bvh" }, "name": "bvh" }, "operator": "!==", "right": { "type": "ThisExpression", "start": 5408, "end": 5412, "loc": { "start": { "line": 155, "column": 21 }, "end": { "line": 155, "column": 25 } } } } }, "consequent": { "type": "BlockStatement", "start": 5414, "end": 5485, "loc": { "start": { "line": 155, "column": 27 }, "end": { "line": 157, "column": 4 } }, "body": [ { "type": "ThrowStatement", "start": 5420, "end": 5480, "loc": { "start": { "line": 156, "column": 4 }, "end": { "line": 156, "column": 64 } }, "argument": { "type": "NewExpression", "start": 5426, "end": 5479, "loc": { "start": { "line": 156, "column": 10 }, "end": { "line": 156, "column": 63 } }, "callee": { "type": "Identifier", "start": 5430, "end": 5435, "loc": { "start": { "line": 156, "column": 14 }, "end": { "line": 156, "column": 19 }, "identifierName": "Error" }, "name": "Error" }, "arguments": [ { "type": "StringLiteral", "start": 5436, "end": 5478, "loc": { "start": { "line": 156, "column": 20 }, "end": { "line": 156, "column": 62 } }, "extra": { "rawValue": "Body belongs to another collision system", "raw": "'Body belongs to another collision system'" }, "value": "Body belongs to another collision system" } ] } } ], "directives": [] }, "alternate": null }, { "type": "ExpressionStatement", "start": 5490, "end": 5507, "loc": { "start": { "line": 159, "column": 3 }, "end": { "line": 159, "column": 20 } }, "expression": { "type": "AssignmentExpression", "start": 5490, "end": 5506, "loc": { "start": { "line": 159, "column": 3 }, "end": { "line": 159, "column": 19 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 5490, "end": 5499, "loc": { "start": { "line": 159, "column": 3 }, "end": { "line": 159, "column": 12 } }, "object": { "type": "Identifier", "start": 5490, "end": 5494, "loc": { "start": { "line": 159, "column": 3 }, "end": { "line": 159, "column": 7 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 5495, "end": 5499, "loc": { "start": { "line": 159, "column": 8 }, "end": { "line": 159, "column": 12 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false }, "right": { "type": "NullLiteral", "start": 5502, "end": 5506, "loc": { "start": { "line": 159, "column": 15 }, "end": { "line": 159, "column": 19 } } } } }, { "type": "ExpressionStatement", "start": 5511, "end": 5562, "loc": { "start": { "line": 160, "column": 3 }, "end": { "line": 160, "column": 54 } }, "expression": { "type": "CallExpression", "start": 5511, "end": 5561, "loc": { "start": { "line": 160, "column": 3 }, "end": { "line": 160, "column": 53 } }, "callee": { "type": "MemberExpression", "start": 5511, "end": 5530, "loc": { "start": { "line": 160, "column": 3 }, "end": { "line": 160, "column": 22 } }, "object": { "type": "MemberExpression", "start": 5511, "end": 5523, "loc": { "start": { "line": 160, "column": 3 }, "end": { "line": 160, "column": 15 } }, "object": { "type": "ThisExpression", "start": 5511, "end": 5515, "loc": { "start": { "line": 160, "column": 3 }, "end": { "line": 160, "column": 7 } } }, "property": { "type": "Identifier", "start": 5516, "end": 5523, "loc": { "start": { "line": 160, "column": 8 }, "end": { "line": 160, "column": 15 }, "identifierName": "_bodies" }, "name": "_bodies" }, "computed": false }, "property": { "type": "Identifier", "start": 5524, "end": 5530, "loc": { "start": { "line": 160, "column": 16 }, "end": { "line": 160, "column": 22 }, "identifierName": "splice" }, "name": "splice" }, "computed": false }, "arguments": [ { "type": "CallExpression", "start": 5531, "end": 5557, "loc": { "start": { "line": 160, "column": 23 }, "end": { "line": 160, "column": 49 } }, "callee": { "type": "MemberExpression", "start": 5531, "end": 5551, "loc": { "start": { "line": 160, "column": 23 }, "end": { "line": 160, "column": 43 } }, "object": { "type": "MemberExpression", "start": 5531, "end": 5543, "loc": { "start": { "line": 160, "column": 23 }, "end": { "line": 160, "column": 35 } }, "object": { "type": "ThisExpression", "start": 5531, "end": 5535, "loc": { "start": { "line": 160, "column": 23 }, "end": { "line": 160, "column": 27 } } }, "property": { "type": "Identifier", "start": 5536, "end": 5543, "loc": { "start": { "line": 160, "column": 28 }, "end": { "line": 160, "column": 35 }, "identifierName": "_bodies" }, "name": "_bodies" }, "computed": false }, "property": { "type": "Identifier", "start": 5544, "end": 5551, "loc": { "start": { "line": 160, "column": 36 }, "end": { "line": 160, "column": 43 }, "identifierName": "indexOf" }, "name": "indexOf" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 5552, "end": 5556, "loc": { "start": { "line": 160, "column": 44 }, "end": { "line": 160, "column": 48 }, "identifierName": "body" }, "name": "body" } ] }, { "type": "NumericLiteral", "start": 5559, "end": 5560, "loc": { "start": { "line": 160, "column": 51 }, "end": { "line": 160, "column": 52 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } ] } } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 5570, "end": 5643, "loc": { "start": { "line": 163, "column": 2 }, "end": { "line": 167, "column": 3 } }, "test": { "type": "BinaryExpression", "start": 5573, "end": 5597, "loc": { "start": { "line": 163, "column": 5 }, "end": { "line": 163, "column": 29 } }, "left": { "type": "MemberExpression", "start": 5573, "end": 5588, "loc": { "start": { "line": 163, "column": 5 }, "end": { "line": 163, "column": 20 } }, "object": { "type": "ThisExpression", "start": 5573, "end": 5577, "loc": { "start": { "line": 163, "column": 5 }, "end": { "line": 163, "column": 9 } } }, "property": { "type": "Identifier", "start": 5578, "end": 5588, "loc": { "start": { "line": 163, "column": 10 }, "end": { "line": 163, "column": 20 }, "identifierName": "_hierarchy" }, "name": "_hierarchy" }, "computed": false }, "operator": "===", "right": { "type": "Identifier", "start": 5593, "end": 5597, "loc": { "start": { "line": 163, "column": 25 }, "end": { "line": 163, "column": 29 }, "identifierName": "body" }, "name": "body" } }, "consequent": { "type": "BlockStatement", "start": 5599, "end": 5643, "loc": { "start": { "line": 163, "column": 31 }, "end": { "line": 167, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 5604, "end": 5627, "loc": { "start": { "line": 164, "column": 3 }, "end": { "line": 164, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 5604, "end": 5626, "loc": { "start": { "line": 164, "column": 3 }, "end": { "line": 164, "column": 25 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 5604, "end": 5619, "loc": { "start": { "line": 164, "column": 3 }, "end": { "line": 164, "column": 18 } }, "object": { "type": "ThisExpression", "start": 5604, "end": 5608, "loc": { "start": { "line": 164, "column": 3 }, "end": { "line": 164, "column": 7 } } }, "property": { "type": "Identifier", "start": 5609, "end": 5619, "loc": { "start": { "line": 164, "column": 8 }, "end": { "line": 164, "column": 18 }, "identifierName": "_hierarchy" }, "name": "_hierarchy" }, "computed": false }, "right": { "type": "NullLiteral", "start": 5622, "end": 5626, "loc": { "start": { "line": 164, "column": 21 }, "end": { "line": 164, "column": 25 } } } } }, { "type": "ReturnStatement", "start": 5632, "end": 5639, "loc": { "start": { "line": 166, "column": 3 }, "end": { "line": 166, "column": 10 } }, "argument": null } ], "directives": [] }, "alternate": null }, { "type": "VariableDeclaration", "start": 5647, "end": 5685, "loc": { "start": { "line": 169, "column": 2 }, "end": { "line": 169, "column": 40 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5653, "end": 5684, "loc": { "start": { "line": 169, "column": 8 }, "end": { "line": 169, "column": 39 } }, "id": { "type": "Identifier", "start": 5653, "end": 5659, "loc": { "start": { "line": 169, "column": 8 }, "end": { "line": 169, "column": 14 }, "identifierName": "parent" }, "name": "parent" }, "init": { "type": "MemberExpression", "start": 5668, "end": 5684, "loc": { "start": { "line": 169, "column": 23 }, "end": { "line": 169, "column": 39 } }, "object": { "type": "Identifier", "start": 5668, "end": 5672, "loc": { "start": { "line": 169, "column": 23 }, "end": { "line": 169, "column": 27 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 5673, "end": 5684, "loc": { "start": { "line": 169, "column": 28 }, "end": { "line": 169, "column": 39 }, "identifierName": "_bvh_parent" }, "name": "_bvh_parent" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 5688, "end": 5728, "loc": { "start": { "line": 170, "column": 2 }, "end": { "line": 170, "column": 42 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5694, "end": 5727, "loc": { "start": { "line": 170, "column": 8 }, "end": { "line": 170, "column": 41 } }, "id": { "type": "Identifier", "start": 5694, "end": 5705, "loc": { "start": { "line": 170, "column": 8 }, "end": { "line": 170, "column": 19 }, "identifierName": "grandparent" }, "name": "grandparent" }, "init": { "type": "MemberExpression", "start": 5709, "end": 5727, "loc": { "start": { "line": 170, "column": 23 }, "end": { "line": 170, "column": 41 } }, "object": { "type": "Identifier", "start": 5709, "end": 5715, "loc": { "start": { "line": 170, "column": 23 }, "end": { "line": 170, "column": 29 }, "identifierName": "parent" }, "name": "parent" }, "property": { "type": "Identifier", "start": 5716, "end": 5727, "loc": { "start": { "line": 170, "column": 30 }, "end": { "line": 170, "column": 41 }, "identifierName": "_bvh_parent" }, "name": "_bvh_parent" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 5731, "end": 5769, "loc": { "start": { "line": 171, "column": 2 }, "end": { "line": 171, "column": 40 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5737, "end": 5768, "loc": { "start": { "line": 171, "column": 8 }, "end": { "line": 171, "column": 39 } }, "id": { "type": "Identifier", "start": 5737, "end": 5748, "loc": { "start": { "line": 171, "column": 8 }, "end": { "line": 171, "column": 19 }, "identifierName": "parent_left" }, "name": "parent_left" }, "init": { "type": "MemberExpression", "start": 5752, "end": 5768, "loc": { "start": { "line": 171, "column": 23 }, "end": { "line": 171, "column": 39 } }, "object": { "type": "Identifier", "start": 5752, "end": 5758, "loc": { "start": { "line": 171, "column": 23 }, "end": { "line": 171, "column": 29 }, "identifierName": "parent" }, "name": "parent" }, "property": { "type": "Identifier", "start": 5759, "end": 5768, "loc": { "start": { "line": 171, "column": 30 }, "end": { "line": 171, "column": 39 }, "identifierName": "_bvh_left" }, "name": "_bvh_left" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 5772, "end": 5848, "loc": { "start": { "line": 172, "column": 2 }, "end": { "line": 172, "column": 78 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5778, "end": 5847, "loc": { "start": { "line": 172, "column": 8 }, "end": { "line": 172, "column": 77 } }, "id": { "type": "Identifier", "start": 5778, "end": 5785, "loc": { "start": { "line": 172, "column": 8 }, "end": { "line": 172, "column": 15 }, "identifierName": "sibling" }, "name": "sibling" }, "init": { "type": "ConditionalExpression", "start": 5793, "end": 5847, "loc": { "start": { "line": 172, "column": 23 }, "end": { "line": 172, "column": 77 } }, "test": { "type": "BinaryExpression", "start": 5793, "end": 5813, "loc": { "start": { "line": 172, "column": 23 }, "end": { "line": 172, "column": 43 } }, "left": { "type": "Identifier", "start": 5793, "end": 5804, "loc": { "start": { "line": 172, "column": 23 }, "end": { "line": 172, "column": 34 }, "identifierName": "parent_left" }, "name": "parent_left" }, "operator": "===", "right": { "type": "Identifier", "start": 5809, "end": 5813, "loc": { "start": { "line": 172, "column": 39 }, "end": { "line": 172, "column": 43 }, "identifierName": "body" }, "name": "body" } }, "consequent": { "type": "MemberExpression", "start": 5816, "end": 5833, "loc": { "start": { "line": 172, "column": 46 }, "end": { "line": 172, "column": 63 } }, "object": { "type": "Identifier", "start": 5816, "end": 5822, "loc": { "start": { "line": 172, "column": 46 }, "end": { "line": 172, "column": 52 }, "identifierName": "parent" }, "name": "parent" }, "property": { "type": "Identifier", "start": 5823, "end": 5833, "loc": { "start": { "line": 172, "column": 53 }, "end": { "line": 172, "column": 63 }, "identifierName": "_bvh_right" }, "name": "_bvh_right" }, "computed": false }, "alternate": { "type": "Identifier", "start": 5836, "end": 5847, "loc": { "start": { "line": 172, "column": 66 }, "end": { "line": 172, "column": 77 }, "identifierName": "parent_left" }, "name": "parent_left" } } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 5852, "end": 5886, "loc": { "start": { "line": 174, "column": 2 }, "end": { "line": 174, "column": 36 } }, "expression": { "type": "AssignmentExpression", "start": 5852, "end": 5885, "loc": { "start": { "line": 174, "column": 2 }, "end": { "line": 174, "column": 35 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 5852, "end": 5871, "loc": { "start": { "line": 174, "column": 2 }, "end": { "line": 174, "column": 21 } }, "object": { "type": "Identifier", "start": 5852, "end": 5859, "loc": { "start": { "line": 174, "column": 2 }, "end": { "line": 174, "column": 9 }, "identifierName": "sibling" }, "name": "sibling" }, "property": { "type": "Identifier", "start": 5860, "end": 5871, "loc": { "start": { "line": 174, "column": 10 }, "end": { "line": 174, "column": 21 }, "identifierName": "_bvh_parent" }, "name": "_bvh_parent" }, "computed": false }, "right": { "type": "Identifier", "start": 5874, "end": 5885, "loc": { "start": { "line": 174, "column": 24 }, "end": { "line": 174, "column": 35 }, "identifierName": "grandparent" }, "name": "grandparent" } } }, { "type": "IfStatement", "start": 5890, "end": 5960, "loc": { "start": { "line": 176, "column": 2 }, "end": { "line": 178, "column": 3 } }, "test": { "type": "MemberExpression", "start": 5893, "end": 5912, "loc": { "start": { "line": 176, "column": 5 }, "end": { "line": 176, "column": 24 } }, "object": { "type": "Identifier", "start": 5893, "end": 5900, "loc": { "start": { "line": 176, "column": 5 }, "end": { "line": 176, "column": 12 }, "identifierName": "sibling" }, "name": "sibling" }, "property": { "type": "Identifier", "start": 5901, "end": 5912, "loc": { "start": { "line": 176, "column": 13 }, "end": { "line": 176, "column": 24 }, "identifierName": "_bvh_branch" }, "name": "_bvh_branch" }, "computed": false }, "consequent": { "type": "BlockStatement", "start": 5914, "end": 5960, "loc": { "start": { "line": 176, "column": 26 }, "end": { "line": 178, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 5919, "end": 5956, "loc": { "start": { "line": 177, "column": 3 }, "end": { "line": 177, "column": 40 } }, "expression": { "type": "AssignmentExpression", "start": 5919, "end": 5955, "loc": { "start": { "line": 177, "column": 3 }, "end": { "line": 177, "column": 39 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 5919, "end": 5936, "loc": { "start": { "line": 177, "column": 3 }, "end": { "line": 177, "column": 20 } }, "object": { "type": "Identifier", "start": 5919, "end": 5926, "loc": { "start": { "line": 177, "column": 3 }, "end": { "line": 177, "column": 10 }, "identifierName": "sibling" }, "name": "sibling" }, "property": { "type": "Identifier", "start": 5927, "end": 5936, "loc": { "start": { "line": 177, "column": 11 }, "end": { "line": 177, "column": 20 }, "identifierName": "_bvh_sort" }, "name": "_bvh_sort" }, "computed": false }, "right": { "type": "MemberExpression", "start": 5939, "end": 5955, "loc": { "start": { "line": 177, "column": 23 }, "end": { "line": 177, "column": 39 } }, "object": { "type": "Identifier", "start": 5939, "end": 5945, "loc": { "start": { "line": 177, "column": 23 }, "end": { "line": 177, "column": 29 }, "identifierName": "parent" }, "name": "parent" }, "property": { "type": "Identifier", "start": 5946, "end": 5955, "loc": { "start": { "line": 177, "column": 30 }, "end": { "line": 177, "column": 39 }, "identifierName": "_bvh_sort" }, "name": "_bvh_sort" }, "computed": false } } } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 5964, "end": 6976, "loc": { "start": { "line": 180, "column": 2 }, "end": { "line": 213, "column": 3 } }, "test": { "type": "Identifier", "start": 5967, "end": 5978, "loc": { "start": { "line": 180, "column": 5 }, "end": { "line": 180, "column": 16 }, "identifierName": "grandparent" }, "name": "grandparent" }, "consequent": { "type": "BlockStatement", "start": 5980, "end": 6933, "loc": { "start": { "line": 180, "column": 18 }, "end": { "line": 210, "column": 3 } }, "body": [ { "type": "IfStatement", "start": 5985, "end": 6118, "loc": { "start": { "line": 181, "column": 3 }, "end": { "line": 186, "column": 4 } }, "test": { "type": "BinaryExpression", "start": 5988, "end": 6020, "loc": { "start": { "line": 181, "column": 6 }, "end": { "line": 181, "column": 38 } }, "left": { "type": "MemberExpression", "start": 5988, "end": 6009, "loc": { "start": { "line": 181, "column": 6 }, "end": { "line": 181, "column": 27 } }, "object": { "type": "Identifier", "start": 5988, "end": 5999, "loc": { "start": { "line": 181, "column": 6 }, "end": { "line": 181, "column": 17 }, "identifierName": "grandparent" }, "name": "grandparent" }, "property": { "type": "Identifier", "start": 6000, "end": 6009, "loc": { "start": { "line": 181, "column": 18 }, "end": { "line": 181, "column": 27 }, "identifierName": "_bvh_left" }, "name": "_bvh_left" }, "computed": false }, "operator": "===", "right": { "type": "Identifier", "start": 6014, "end": 6020, "loc": { "start": { "line": 181, "column": 32 }, "end": { "line": 181, "column": 38 }, "identifierName": "parent" }, "name": "parent" } }, "consequent": { "type": "BlockStatement", "start": 6022, "end": 6065, "loc": { "start": { "line": 181, "column": 40 }, "end": { "line": 183, "column": 4 } }, "body": [ { "type": "ExpressionStatement", "start": 6028, "end": 6060, "loc": { "start": { "line": 182, "column": 4 }, "end": { "line": 182, "column": 36 } }, "expression": { "type": "AssignmentExpression", "start": 6028, "end": 6059, "loc": { "start": { "line": 182, "column": 4 }, "end": { "line": 182, "column": 35 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 6028, "end": 6049, "loc": { "start": { "line": 182, "column": 4 }, "end": { "line": 182, "column": 25 } }, "object": { "type": "Identifier", "start": 6028, "end": 6039, "loc": { "start": { "line": 182, "column": 4 }, "end": { "line": 182, "column": 15 }, "identifierName": "grandparent" }, "name": "grandparent" }, "property": { "type": "Identifier", "start": 6040, "end": 6049, "loc": { "start": { "line": 182, "column": 16 }, "end": { "line": 182, "column": 25 }, "identifierName": "_bvh_left" }, "name": "_bvh_left" }, "computed": false }, "right": { "type": "Identifier", "start": 6052, "end": 6059, "loc": { "start": { "line": 182, "column": 28 }, "end": { "line": 182, "column": 35 }, "identifierName": "sibling" }, "name": "sibling" } } } ], "directives": [] }, "alternate": { "type": "BlockStatement", "start": 6074, "end": 6118, "loc": { "start": { "line": 184, "column": 8 }, "end": { "line": 186, "column": 4 } }, "body": [ { "type": "ExpressionStatement", "start": 6080, "end": 6113, "loc": { "start": { "line": 185, "column": 4 }, "end": { "line": 185, "column": 37 } }, "expression": { "type": "AssignmentExpression", "start": 6080, "end": 6112, "loc": { "start": { "line": 185, "column": 4 }, "end": { "line": 185, "column": 36 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 6080, "end": 6102, "loc": { "start": { "line": 185, "column": 4 }, "end": { "line": 185, "column": 26 } }, "object": { "type": "Identifier", "start": 6080, "end": 6091, "loc": { "start": { "line": 185, "column": 4 }, "end": { "line": 185, "column": 15 }, "identifierName": "grandparent" }, "name": "grandparent" }, "property": { "type": "Identifier", "start": 6092, "end": 6102, "loc": { "start": { "line": 185, "column": 16 }, "end": { "line": 185, "column": 26 }, "identifierName": "_bvh_right" }, "name": "_bvh_right" }, "computed": false }, "right": { "type": "Identifier", "start": 6105, "end": 6112, "loc": { "start": { "line": 185, "column": 29 }, "end": { "line": 185, "column": 36 }, "identifierName": "sibling" }, "name": "sibling" } } } ], "directives": [] } }, { "type": "VariableDeclaration", "start": 6123, "end": 6148, "loc": { "start": { "line": 188, "column": 3 }, "end": { "line": 188, "column": 28 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6127, "end": 6147, "loc": { "start": { "line": 188, "column": 7 }, "end": { "line": 188, "column": 27 } }, "id": { "type": "Identifier", "start": 6127, "end": 6133, "loc": { "start": { "line": 188, "column": 7 }, "end": { "line": 188, "column": 13 }, "identifierName": "branch" }, "name": "branch" }, "init": { "type": "Identifier", "start": 6136, "end": 6147, "loc": { "start": { "line": 188, "column": 16 }, "end": { "line": 188, "column": 27 }, "identifierName": "grandparent" }, "name": "grandparent" } } ], "kind": "let" }, { "type": "WhileStatement", "start": 6153, "end": 6929, "loc": { "start": { "line": 190, "column": 3 }, "end": { "line": 209, "column": 4 } }, "test": { "type": "Identifier", "start": 6159, "end": 6165, "loc": { "start": { "line": 190, "column": 9 }, "end": { "line": 190, "column": 15 }, "identifierName": "branch" }, "name": "branch" }, "body": { "type": "BlockStatement", "start": 6167, "end": 6929, "loc": { "start": { "line": 190, "column": 17 }, "end": { "line": 209, "column": 4 } }, "body": [ { "type": "VariableDeclaration", "start": 6173, "end": 6209, "loc": { "start": { "line": 191, "column": 4 }, "end": { "line": 191, "column": 40 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6179, "end": 6208, "loc": { "start": { "line": 191, "column": 10 }, "end": { "line": 191, "column": 39 } }, "id": { "type": "Identifier", "start": 6179, "end": 6183, "loc": { "start": { "line": 191, "column": 10 }, "end": { "line": 191, "column": 14 }, "identifierName": "left" }, "name": "left" }, "init": { "type": "MemberExpression", "start": 6192, "end": 6208, "loc": { "start": { "line": 191, "column": 23 }, "end": { "line": 191, "column": 39 } }, "object": { "type": "Identifier", "start": 6192, "end": 6198, "loc": { "start": { "line": 191, "column": 23 }, "end": { "line": 191, "column": 29 }, "identifierName": "branch" }, "name": "branch" }, "property": { "type": "Identifier", "start": 6199, "end": 6208, "loc": { "start": { "line": 191, "column": 30 }, "end": { "line": 191, "column": 39 }, "identifierName": "_bvh_left" }, "name": "_bvh_left" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6214, "end": 6249, "loc": { "start": { "line": 192, "column": 4 }, "end": { "line": 192, "column": 39 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6220, "end": 6248, "loc": { "start": { "line": 192, "column": 10 }, "end": { "line": 192, "column": 38 } }, "id": { "type": "Identifier", "start": 6220, "end": 6230, "loc": { "start": { "line": 192, "column": 10 }, "end": { "line": 192, "column": 20 }, "identifierName": "left_min_x" }, "name": "left_min_x" }, "init": { "type": "MemberExpression", "start": 6233, "end": 6248, "loc": { "start": { "line": 192, "column": 23 }, "end": { "line": 192, "column": 38 } }, "object": { "type": "Identifier", "start": 6233, "end": 6237, "loc": { "start": { "line": 192, "column": 23 }, "end": { "line": 192, "column": 27 }, "identifierName": "left" }, "name": "left" }, "property": { "type": "Identifier", "start": 6238, "end": 6248, "loc": { "start": { "line": 192, "column": 28 }, "end": { "line": 192, "column": 38 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6254, "end": 6289, "loc": { "start": { "line": 193, "column": 4 }, "end": { "line": 193, "column": 39 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6260, "end": 6288, "loc": { "start": { "line": 193, "column": 10 }, "end": { "line": 193, "column": 38 } }, "id": { "type": "Identifier", "start": 6260, "end": 6270, "loc": { "start": { "line": 193, "column": 10 }, "end": { "line": 193, "column": 20 }, "identifierName": "left_min_y" }, "name": "left_min_y" }, "init": { "type": "MemberExpression", "start": 6273, "end": 6288, "loc": { "start": { "line": 193, "column": 23 }, "end": { "line": 193, "column": 38 } }, "object": { "type": "Identifier", "start": 6273, "end": 6277, "loc": { "start": { "line": 193, "column": 23 }, "end": { "line": 193, "column": 27 }, "identifierName": "left" }, "name": "left" }, "property": { "type": "Identifier", "start": 6278, "end": 6288, "loc": { "start": { "line": 193, "column": 28 }, "end": { "line": 193, "column": 38 }, "identifierName": "_bvh_min_y" }, "name": "_bvh_min_y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6294, "end": 6329, "loc": { "start": { "line": 194, "column": 4 }, "end": { "line": 194, "column": 39 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6300, "end": 6328, "loc": { "start": { "line": 194, "column": 10 }, "end": { "line": 194, "column": 38 } }, "id": { "type": "Identifier", "start": 6300, "end": 6310, "loc": { "start": { "line": 194, "column": 10 }, "end": { "line": 194, "column": 20 }, "identifierName": "left_max_x" }, "name": "left_max_x" }, "init": { "type": "MemberExpression", "start": 6313, "end": 6328, "loc": { "start": { "line": 194, "column": 23 }, "end": { "line": 194, "column": 38 } }, "object": { "type": "Identifier", "start": 6313, "end": 6317, "loc": { "start": { "line": 194, "column": 23 }, "end": { "line": 194, "column": 27 }, "identifierName": "left" }, "name": "left" }, "property": { "type": "Identifier", "start": 6318, "end": 6328, "loc": { "start": { "line": 194, "column": 28 }, "end": { "line": 194, "column": 38 }, "identifierName": "_bvh_max_x" }, "name": "_bvh_max_x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6334, "end": 6369, "loc": { "start": { "line": 195, "column": 4 }, "end": { "line": 195, "column": 39 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6340, "end": 6368, "loc": { "start": { "line": 195, "column": 10 }, "end": { "line": 195, "column": 38 } }, "id": { "type": "Identifier", "start": 6340, "end": 6350, "loc": { "start": { "line": 195, "column": 10 }, "end": { "line": 195, "column": 20 }, "identifierName": "left_max_y" }, "name": "left_max_y" }, "init": { "type": "MemberExpression", "start": 6353, "end": 6368, "loc": { "start": { "line": 195, "column": 23 }, "end": { "line": 195, "column": 38 } }, "object": { "type": "Identifier", "start": 6353, "end": 6357, "loc": { "start": { "line": 195, "column": 23 }, "end": { "line": 195, "column": 27 }, "identifierName": "left" }, "name": "left" }, "property": { "type": "Identifier", "start": 6358, "end": 6368, "loc": { "start": { "line": 195, "column": 28 }, "end": { "line": 195, "column": 38 }, "identifierName": "_bvh_max_y" }, "name": "_bvh_max_y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6375, "end": 6413, "loc": { "start": { "line": 197, "column": 4 }, "end": { "line": 197, "column": 42 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6381, "end": 6412, "loc": { "start": { "line": 197, "column": 10 }, "end": { "line": 197, "column": 41 } }, "id": { "type": "Identifier", "start": 6381, "end": 6386, "loc": { "start": { "line": 197, "column": 10 }, "end": { "line": 197, "column": 15 }, "identifierName": "right" }, "name": "right" }, "init": { "type": "MemberExpression", "start": 6395, "end": 6412, "loc": { "start": { "line": 197, "column": 24 }, "end": { "line": 197, "column": 41 } }, "object": { "type": "Identifier", "start": 6395, "end": 6401, "loc": { "start": { "line": 197, "column": 24 }, "end": { "line": 197, "column": 30 }, "identifierName": "branch" }, "name": "branch" }, "property": { "type": "Identifier", "start": 6402, "end": 6412, "loc": { "start": { "line": 197, "column": 31 }, "end": { "line": 197, "column": 41 }, "identifierName": "_bvh_right" }, "name": "_bvh_right" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6418, "end": 6455, "loc": { "start": { "line": 198, "column": 4 }, "end": { "line": 198, "column": 41 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6424, "end": 6454, "loc": { "start": { "line": 198, "column": 10 }, "end": { "line": 198, "column": 40 } }, "id": { "type": "Identifier", "start": 6424, "end": 6435, "loc": { "start": { "line": 198, "column": 10 }, "end": { "line": 198, "column": 21 }, "identifierName": "right_min_x" }, "name": "right_min_x" }, "init": { "type": "MemberExpression", "start": 6438, "end": 6454, "loc": { "start": { "line": 198, "column": 24 }, "end": { "line": 198, "column": 40 } }, "object": { "type": "Identifier", "start": 6438, "end": 6443, "loc": { "start": { "line": 198, "column": 24 }, "end": { "line": 198, "column": 29 }, "identifierName": "right" }, "name": "right" }, "property": { "type": "Identifier", "start": 6444, "end": 6454, "loc": { "start": { "line": 198, "column": 30 }, "end": { "line": 198, "column": 40 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6460, "end": 6497, "loc": { "start": { "line": 199, "column": 4 }, "end": { "line": 199, "column": 41 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6466, "end": 6496, "loc": { "start": { "line": 199, "column": 10 }, "end": { "line": 199, "column": 40 } }, "id": { "type": "Identifier", "start": 6466, "end": 6477, "loc": { "start": { "line": 199, "column": 10 }, "end": { "line": 199, "column": 21 }, "identifierName": "right_min_y" }, "name": "right_min_y" }, "init": { "type": "MemberExpression", "start": 6480, "end": 6496, "loc": { "start": { "line": 199, "column": 24 }, "end": { "line": 199, "column": 40 } }, "object": { "type": "Identifier", "start": 6480, "end": 6485, "loc": { "start": { "line": 199, "column": 24 }, "end": { "line": 199, "column": 29 }, "identifierName": "right" }, "name": "right" }, "property": { "type": "Identifier", "start": 6486, "end": 6496, "loc": { "start": { "line": 199, "column": 30 }, "end": { "line": 199, "column": 40 }, "identifierName": "_bvh_min_y" }, "name": "_bvh_min_y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6502, "end": 6539, "loc": { "start": { "line": 200, "column": 4 }, "end": { "line": 200, "column": 41 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6508, "end": 6538, "loc": { "start": { "line": 200, "column": 10 }, "end": { "line": 200, "column": 40 } }, "id": { "type": "Identifier", "start": 6508, "end": 6519, "loc": { "start": { "line": 200, "column": 10 }, "end": { "line": 200, "column": 21 }, "identifierName": "right_max_x" }, "name": "right_max_x" }, "init": { "type": "MemberExpression", "start": 6522, "end": 6538, "loc": { "start": { "line": 200, "column": 24 }, "end": { "line": 200, "column": 40 } }, "object": { "type": "Identifier", "start": 6522, "end": 6527, "loc": { "start": { "line": 200, "column": 24 }, "end": { "line": 200, "column": 29 }, "identifierName": "right" }, "name": "right" }, "property": { "type": "Identifier", "start": 6528, "end": 6538, "loc": { "start": { "line": 200, "column": 30 }, "end": { "line": 200, "column": 40 }, "identifierName": "_bvh_max_x" }, "name": "_bvh_max_x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6544, "end": 6581, "loc": { "start": { "line": 201, "column": 4 }, "end": { "line": 201, "column": 41 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6550, "end": 6580, "loc": { "start": { "line": 201, "column": 10 }, "end": { "line": 201, "column": 40 } }, "id": { "type": "Identifier", "start": 6550, "end": 6561, "loc": { "start": { "line": 201, "column": 10 }, "end": { "line": 201, "column": 21 }, "identifierName": "right_max_y" }, "name": "right_max_y" }, "init": { "type": "MemberExpression", "start": 6564, "end": 6580, "loc": { "start": { "line": 201, "column": 24 }, "end": { "line": 201, "column": 40 } }, "object": { "type": "Identifier", "start": 6564, "end": 6569, "loc": { "start": { "line": 201, "column": 24 }, "end": { "line": 201, "column": 29 }, "identifierName": "right" }, "name": "right" }, "property": { "type": "Identifier", "start": 6570, "end": 6580, "loc": { "start": { "line": 201, "column": 30 }, "end": { "line": 201, "column": 40 }, "identifierName": "_bvh_max_y" }, "name": "_bvh_max_y" }, "computed": false } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 6587, "end": 6659, "loc": { "start": { "line": 203, "column": 4 }, "end": { "line": 203, "column": 76 } }, "expression": { "type": "AssignmentExpression", "start": 6587, "end": 6658, "loc": { "start": { "line": 203, "column": 4 }, "end": { "line": 203, "column": 75 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 6587, "end": 6604, "loc": { "start": { "line": 203, "column": 4 }, "end": { "line": 203, "column": 21 } }, "object": { "type": "Identifier", "start": 6587, "end": 6593, "loc": { "start": { "line": 203, "column": 4 }, "end": { "line": 203, "column": 10 }, "identifierName": "branch" }, "name": "branch" }, "property": { "type": "Identifier", "start": 6594, "end": 6604, "loc": { "start": { "line": 203, "column": 11 }, "end": { "line": 203, "column": 21 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false }, "right": { "type": "ConditionalExpression", "start": 6607, "end": 6658, "loc": { "start": { "line": 203, "column": 24 }, "end": { "line": 203, "column": 75 } }, "test": { "type": "BinaryExpression", "start": 6607, "end": 6631, "loc": { "start": { "line": 203, "column": 24 }, "end": { "line": 203, "column": 48 } }, "left": { "type": "Identifier", "start": 6607, "end": 6617, "loc": { "start": { "line": 203, "column": 24 }, "end": { "line": 203, "column": 34 }, "identifierName": "left_min_x" }, "name": "left_min_x" }, "operator": "<", "right": { "type": "Identifier", "start": 6620, "end": 6631, "loc": { "start": { "line": 203, "column": 37 }, "end": { "line": 203, "column": 48 }, "identifierName": "right_min_x" }, "name": "right_min_x" } }, "consequent": { "type": "Identifier", "start": 6634, "end": 6644, "loc": { "start": { "line": 203, "column": 51 }, "end": { "line": 203, "column": 61 }, "identifierName": "left_min_x" }, "name": "left_min_x" }, "alternate": { "type": "Identifier", "start": 6647, "end": 6658, "loc": { "start": { "line": 203, "column": 64 }, "end": { "line": 203, "column": 75 }, "identifierName": "right_min_x" }, "name": "right_min_x" } } } }, { "type": "ExpressionStatement", "start": 6664, "end": 6736, "loc": { "start": { "line": 204, "column": 4 }, "end": { "line": 204, "column": 76 } }, "expression": { "type": "AssignmentExpression", "start": 6664, "end": 6735, "loc": { "start": { "line": 204, "column": 4 }, "end": { "line": 204, "column": 75 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 6664, "end": 6681, "loc": { "start": { "line": 204, "column": 4 }, "end": { "line": 204, "column": 21 } }, "object": { "type": "Identifier", "start": 6664, "end": 6670, "loc": { "start": { "line": 204, "column": 4 }, "end": { "line": 204, "column": 10 }, "identifierName": "branch" }, "name": "branch" }, "property": { "type": "Identifier", "start": 6671, "end": 6681, "loc": { "start": { "line": 204, "column": 11 }, "end": { "line": 204, "column": 21 }, "identifierName": "_bvh_min_y" }, "name": "_bvh_min_y" }, "computed": false }, "right": { "type": "ConditionalExpression", "start": 6684, "end": 6735, "loc": { "start": { "line": 204, "column": 24 }, "end": { "line": 204, "column": 75 } }, "test": { "type": "BinaryExpression", "start": 6684, "end": 6708, "loc": { "start": { "line": 204, "column": 24 }, "end": { "line": 204, "column": 48 } }, "left": { "type": "Identifier", "start": 6684, "end": 6694, "loc": { "start": { "line": 204, "column": 24 }, "end": { "line": 204, "column": 34 }, "identifierName": "left_min_y" }, "name": "left_min_y" }, "operator": "<", "right": { "type": "Identifier", "start": 6697, "end": 6708, "loc": { "start": { "line": 204, "column": 37 }, "end": { "line": 204, "column": 48 }, "identifierName": "right_min_y" }, "name": "right_min_y" } }, "consequent": { "type": "Identifier", "start": 6711, "end": 6721, "loc": { "start": { "line": 204, "column": 51 }, "end": { "line": 204, "column": 61 }, "identifierName": "left_min_y" }, "name": "left_min_y" }, "alternate": { "type": "Identifier", "start": 6724, "end": 6735, "loc": { "start": { "line": 204, "column": 64 }, "end": { "line": 204, "column": 75 }, "identifierName": "right_min_y" }, "name": "right_min_y" } } } }, { "type": "ExpressionStatement", "start": 6741, "end": 6813, "loc": { "start": { "line": 205, "column": 4 }, "end": { "line": 205, "column": 76 } }, "expression": { "type": "AssignmentExpression", "start": 6741, "end": 6812, "loc": { "start": { "line": 205, "column": 4 }, "end": { "line": 205, "column": 75 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 6741, "end": 6758, "loc": { "start": { "line": 205, "column": 4 }, "end": { "line": 205, "column": 21 } }, "object": { "type": "Identifier", "start": 6741, "end": 6747, "loc": { "start": { "line": 205, "column": 4 }, "end": { "line": 205, "column": 10 }, "identifierName": "branch" }, "name": "branch" }, "property": { "type": "Identifier", "start": 6748, "end": 6758, "loc": { "start": { "line": 205, "column": 11 }, "end": { "line": 205, "column": 21 }, "identifierName": "_bvh_max_x" }, "name": "_bvh_max_x" }, "computed": false }, "right": { "type": "ConditionalExpression", "start": 6761, "end": 6812, "loc": { "start": { "line": 205, "column": 24 }, "end": { "line": 205, "column": 75 } }, "test": { "type": "BinaryExpression", "start": 6761, "end": 6785, "loc": { "start": { "line": 205, "column": 24 }, "end": { "line": 205, "column": 48 } }, "left": { "type": "Identifier", "start": 6761, "end": 6771, "loc": { "start": { "line": 205, "column": 24 }, "end": { "line": 205, "column": 34 }, "identifierName": "left_max_x" }, "name": "left_max_x" }, "operator": ">", "right": { "type": "Identifier", "start": 6774, "end": 6785, "loc": { "start": { "line": 205, "column": 37 }, "end": { "line": 205, "column": 48 }, "identifierName": "right_max_x" }, "name": "right_max_x" } }, "consequent": { "type": "Identifier", "start": 6788, "end": 6798, "loc": { "start": { "line": 205, "column": 51 }, "end": { "line": 205, "column": 61 }, "identifierName": "left_max_x" }, "name": "left_max_x" }, "alternate": { "type": "Identifier", "start": 6801, "end": 6812, "loc": { "start": { "line": 205, "column": 64 }, "end": { "line": 205, "column": 75 }, "identifierName": "right_max_x" }, "name": "right_max_x" } } } }, { "type": "ExpressionStatement", "start": 6818, "end": 6890, "loc": { "start": { "line": 206, "column": 4 }, "end": { "line": 206, "column": 76 } }, "expression": { "type": "AssignmentExpression", "start": 6818, "end": 6889, "loc": { "start": { "line": 206, "column": 4 }, "end": { "line": 206, "column": 75 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 6818, "end": 6835, "loc": { "start": { "line": 206, "column": 4 }, "end": { "line": 206, "column": 21 } }, "object": { "type": "Identifier", "start": 6818, "end": 6824, "loc": { "start": { "line": 206, "column": 4 }, "end": { "line": 206, "column": 10 }, "identifierName": "branch" }, "name": "branch" }, "property": { "type": "Identifier", "start": 6825, "end": 6835, "loc": { "start": { "line": 206, "column": 11 }, "end": { "line": 206, "column": 21 }, "identifierName": "_bvh_max_y" }, "name": "_bvh_max_y" }, "computed": false }, "right": { "type": "ConditionalExpression", "start": 6838, "end": 6889, "loc": { "start": { "line": 206, "column": 24 }, "end": { "line": 206, "column": 75 } }, "test": { "type": "BinaryExpression", "start": 6838, "end": 6862, "loc": { "start": { "line": 206, "column": 24 }, "end": { "line": 206, "column": 48 } }, "left": { "type": "Identifier", "start": 6838, "end": 6848, "loc": { "start": { "line": 206, "column": 24 }, "end": { "line": 206, "column": 34 }, "identifierName": "left_max_y" }, "name": "left_max_y" }, "operator": ">", "right": { "type": "Identifier", "start": 6851, "end": 6862, "loc": { "start": { "line": 206, "column": 37 }, "end": { "line": 206, "column": 48 }, "identifierName": "right_max_y" }, "name": "right_max_y" } }, "consequent": { "type": "Identifier", "start": 6865, "end": 6875, "loc": { "start": { "line": 206, "column": 51 }, "end": { "line": 206, "column": 61 }, "identifierName": "left_max_y" }, "name": "left_max_y" }, "alternate": { "type": "Identifier", "start": 6878, "end": 6889, "loc": { "start": { "line": 206, "column": 64 }, "end": { "line": 206, "column": 75 }, "identifierName": "right_max_y" }, "name": "right_max_y" } } } }, { "type": "ExpressionStatement", "start": 6896, "end": 6924, "loc": { "start": { "line": 208, "column": 4 }, "end": { "line": 208, "column": 32 } }, "expression": { "type": "AssignmentExpression", "start": 6896, "end": 6923, "loc": { "start": { "line": 208, "column": 4 }, "end": { "line": 208, "column": 31 } }, "operator": "=", "left": { "type": "Identifier", "start": 6896, "end": 6902, "loc": { "start": { "line": 208, "column": 4 }, "end": { "line": 208, "column": 10 }, "identifierName": "branch" }, "name": "branch" }, "right": { "type": "MemberExpression", "start": 6905, "end": 6923, "loc": { "start": { "line": 208, "column": 13 }, "end": { "line": 208, "column": 31 } }, "object": { "type": "Identifier", "start": 6905, "end": 6911, "loc": { "start": { "line": 208, "column": 13 }, "end": { "line": 208, "column": 19 }, "identifierName": "branch" }, "name": "branch" }, "property": { "type": "Identifier", "start": 6912, "end": 6923, "loc": { "start": { "line": 208, "column": 20 }, "end": { "line": 208, "column": 31 }, "identifierName": "_bvh_parent" }, "name": "_bvh_parent" }, "computed": false } } } ], "directives": [] } } ], "directives": [] }, "alternate": { "type": "BlockStatement", "start": 6941, "end": 6976, "loc": { "start": { "line": 211, "column": 7 }, "end": { "line": 213, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 6946, "end": 6972, "loc": { "start": { "line": 212, "column": 3 }, "end": { "line": 212, "column": 29 } }, "expression": { "type": "AssignmentExpression", "start": 6946, "end": 6971, "loc": { "start": { "line": 212, "column": 3 }, "end": { "line": 212, "column": 28 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 6946, "end": 6961, "loc": { "start": { "line": 212, "column": 3 }, "end": { "line": 212, "column": 18 } }, "object": { "type": "ThisExpression", "start": 6946, "end": 6950, "loc": { "start": { "line": 212, "column": 3 }, "end": { "line": 212, "column": 7 } } }, "property": { "type": "Identifier", "start": 6951, "end": 6961, "loc": { "start": { "line": 212, "column": 8 }, "end": { "line": 212, "column": 18 }, "identifierName": "_hierarchy" }, "name": "_hierarchy" }, "computed": false }, "right": { "type": "Identifier", "start": 6964, "end": 6971, "loc": { "start": { "line": 212, "column": 21 }, "end": { "line": 212, "column": 28 }, "identifierName": "sibling" }, "name": "sibling" } } } ], "directives": [] } }, { "type": "ExpressionStatement", "start": 6980, "end": 7012, "loc": { "start": { "line": 215, "column": 2 }, "end": { "line": 215, "column": 34 } }, "expression": { "type": "CallExpression", "start": 6980, "end": 7011, "loc": { "start": { "line": 215, "column": 2 }, "end": { "line": 215, "column": 33 } }, "callee": { "type": "MemberExpression", "start": 6980, "end": 7003, "loc": { "start": { "line": 215, "column": 2 }, "end": { "line": 215, "column": 25 } }, "object": { "type": "Identifier", "start": 6980, "end": 6989, "loc": { "start": { "line": 215, "column": 2 }, "end": { "line": 215, "column": 11 }, "identifierName": "BVHBranch" }, "name": "BVHBranch" }, "property": { "type": "Identifier", "start": 6990, "end": 7003, "loc": { "start": { "line": 215, "column": 12 }, "end": { "line": 215, "column": 25 }, "identifierName": "releaseBranch" }, "name": "releaseBranch" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 7004, "end": 7010, "loc": { "start": { "line": 215, "column": 26 }, "end": { "line": 215, "column": 32 }, "identifierName": "parent" }, "name": "parent" } ] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Removes a body from the BVH\n\t * @param {Circle|Polygon|Point} body The body to remove\n\t * @param {Boolean} [updating = false] Set to true if this is a temporary removal (used internally when updating the body's position)\n\t ", "start": 5074, "end": 5307, "loc": { "start": { "line": 146, "column": 1 }, "end": { "line": 150, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Updates the BVH. Moved bodies are removed/inserted.\n\t ", "start": 7018, "end": 7082, "loc": { "start": { "line": 218, "column": 1 }, "end": { "line": 220, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 7084, "end": 8253, "loc": { "start": { "line": 221, "column": 1 }, "end": { "line": 267, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 7084, "end": 7090, "loc": { "start": { "line": 221, "column": 1 }, "end": { "line": 221, "column": 7 }, "identifierName": "update" }, "name": "update", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 7093, "end": 8253, "loc": { "start": { "line": 221, "column": 10 }, "end": { "line": 267, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 7097, "end": 7125, "loc": { "start": { "line": 222, "column": 2 }, "end": { "line": 222, "column": 30 } }, "declarations": [ { "type": "VariableDeclarator", "start": 7103, "end": 7124, "loc": { "start": { "line": 222, "column": 8 }, "end": { "line": 222, "column": 29 } }, "id": { "type": "Identifier", "start": 7103, "end": 7109, "loc": { "start": { "line": 222, "column": 8 }, "end": { "line": 222, "column": 14 }, "identifierName": "bodies" }, "name": "bodies" }, "init": { "type": "MemberExpression", "start": 7112, "end": 7124, "loc": { "start": { "line": 222, "column": 17 }, "end": { "line": 222, "column": 29 } }, "object": { "type": "ThisExpression", "start": 7112, "end": 7116, "loc": { "start": { "line": 222, "column": 17 }, "end": { "line": 222, "column": 21 } } }, "property": { "type": "Identifier", "start": 7117, "end": 7124, "loc": { "start": { "line": 222, "column": 22 }, "end": { "line": 222, "column": 29 }, "identifierName": "_bodies" }, "name": "_bodies" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 7128, "end": 7157, "loc": { "start": { "line": 223, "column": 2 }, "end": { "line": 223, "column": 31 } }, "declarations": [ { "type": "VariableDeclarator", "start": 7134, "end": 7156, "loc": { "start": { "line": 223, "column": 8 }, "end": { "line": 223, "column": 30 } }, "id": { "type": "Identifier", "start": 7134, "end": 7139, "loc": { "start": { "line": 223, "column": 8 }, "end": { "line": 223, "column": 13 }, "identifierName": "count" }, "name": "count" }, "init": { "type": "MemberExpression", "start": 7143, "end": 7156, "loc": { "start": { "line": 223, "column": 17 }, "end": { "line": 223, "column": 30 } }, "object": { "type": "Identifier", "start": 7143, "end": 7149, "loc": { "start": { "line": 223, "column": 17 }, "end": { "line": 223, "column": 23 }, "identifierName": "bodies" }, "name": "bodies" }, "property": { "type": "Identifier", "start": 7150, "end": 7156, "loc": { "start": { "line": 223, "column": 24 }, "end": { "line": 223, "column": 30 }, "identifierName": "length" }, "name": "length" }, "computed": false } } ], "kind": "const" }, { "type": "ForStatement", "start": 7161, "end": 8250, "loc": { "start": { "line": 225, "column": 2 }, "end": { "line": 266, "column": 3 } }, "init": { "type": "VariableDeclaration", "start": 7165, "end": 7174, "loc": { "start": { "line": 225, "column": 6 }, "end": { "line": 225, "column": 15 } }, "declarations": [ { "type": "VariableDeclarator", "start": 7169, "end": 7174, "loc": { "start": { "line": 225, "column": 10 }, "end": { "line": 225, "column": 15 } }, "id": { "type": "Identifier", "start": 7169, "end": 7170, "loc": { "start": { "line": 225, "column": 10 }, "end": { "line": 225, "column": 11 }, "identifierName": "i" }, "name": "i" }, "init": { "type": "NumericLiteral", "start": 7173, "end": 7174, "loc": { "start": { "line": 225, "column": 14 }, "end": { "line": 225, "column": 15 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "kind": "let" }, "test": { "type": "BinaryExpression", "start": 7176, "end": 7185, "loc": { "start": { "line": 225, "column": 17 }, "end": { "line": 225, "column": 26 } }, "left": { "type": "Identifier", "start": 7176, "end": 7177, "loc": { "start": { "line": 225, "column": 17 }, "end": { "line": 225, "column": 18 }, "identifierName": "i" }, "name": "i" }, "operator": "<", "right": { "type": "Identifier", "start": 7180, "end": 7185, "loc": { "start": { "line": 225, "column": 21 }, "end": { "line": 225, "column": 26 }, "identifierName": "count" }, "name": "count" } }, "update": { "type": "UpdateExpression", "start": 7187, "end": 7190, "loc": { "start": { "line": 225, "column": 28 }, "end": { "line": 225, "column": 31 } }, "operator": "++", "prefix": true, "argument": { "type": "Identifier", "start": 7189, "end": 7190, "loc": { "start": { "line": 225, "column": 30 }, "end": { "line": 225, "column": 31 }, "identifierName": "i" }, "name": "i" }, "extra": { "parenthesizedArgument": false } }, "body": { "type": "BlockStatement", "start": 7192, "end": 8250, "loc": { "start": { "line": 225, "column": 33 }, "end": { "line": 266, "column": 3 } }, "body": [ { "type": "VariableDeclaration", "start": 7197, "end": 7220, "loc": { "start": { "line": 226, "column": 3 }, "end": { "line": 226, "column": 26 } }, "declarations": [ { "type": "VariableDeclarator", "start": 7203, "end": 7219, "loc": { "start": { "line": 226, "column": 9 }, "end": { "line": 226, "column": 25 } }, "id": { "type": "Identifier", "start": 7203, "end": 7207, "loc": { "start": { "line": 226, "column": 9 }, "end": { "line": 226, "column": 13 }, "identifierName": "body" }, "name": "body" }, "init": { "type": "MemberExpression", "start": 7210, "end": 7219, "loc": { "start": { "line": 226, "column": 16 }, "end": { "line": 226, "column": 25 } }, "object": { "type": "Identifier", "start": 7210, "end": 7216, "loc": { "start": { "line": 226, "column": 16 }, "end": { "line": 226, "column": 22 }, "identifierName": "bodies" }, "name": "bodies" }, "property": { "type": "Identifier", "start": 7217, "end": 7218, "loc": { "start": { "line": 226, "column": 23 }, "end": { "line": 226, "column": 24 }, "identifierName": "i" }, "name": "i" }, "computed": true } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 7225, "end": 7244, "loc": { "start": { "line": 228, "column": 3 }, "end": { "line": 228, "column": 22 } }, "declarations": [ { "type": "VariableDeclarator", "start": 7229, "end": 7243, "loc": { "start": { "line": 228, "column": 7 }, "end": { "line": 228, "column": 21 } }, "id": { "type": "Identifier", "start": 7229, "end": 7235, "loc": { "start": { "line": 228, "column": 7 }, "end": { "line": 228, "column": 13 }, "identifierName": "update" }, "name": "update" }, "init": { "type": "BooleanLiteral", "start": 7238, "end": 7243, "loc": { "start": { "line": 228, "column": 16 }, "end": { "line": 228, "column": 21 } }, "value": false } } ], "kind": "let" }, { "type": "IfStatement", "start": 7249, "end": 7362, "loc": { "start": { "line": 230, "column": 3 }, "end": { "line": 233, "column": 4 } }, "test": { "type": "LogicalExpression", "start": 7252, "end": 7297, "loc": { "start": { "line": 230, "column": 6 }, "end": { "line": 230, "column": 51 } }, "left": { "type": "UnaryExpression", "start": 7252, "end": 7259, "loc": { "start": { "line": 230, "column": 6 }, "end": { "line": 230, "column": 13 } }, "operator": "!", "prefix": true, "argument": { "type": "Identifier", "start": 7253, "end": 7259, "loc": { "start": { "line": 230, "column": 7 }, "end": { "line": 230, "column": 13 }, "identifierName": "update" }, "name": "update" }, "extra": { "parenthesizedArgument": false } }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 7263, "end": 7297, "loc": { "start": { "line": 230, "column": 17 }, "end": { "line": 230, "column": 51 } }, "left": { "type": "MemberExpression", "start": 7263, "end": 7275, "loc": { "start": { "line": 230, "column": 17 }, "end": { "line": 230, "column": 29 } }, "object": { "type": "Identifier", "start": 7263, "end": 7267, "loc": { "start": { "line": 230, "column": 17 }, "end": { "line": 230, "column": 21 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7268, "end": 7275, "loc": { "start": { "line": 230, "column": 22 }, "end": { "line": 230, "column": 29 }, "identifierName": "padding" }, "name": "padding" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 7280, "end": 7297, "loc": { "start": { "line": 230, "column": 34 }, "end": { "line": 230, "column": 51 } }, "object": { "type": "Identifier", "start": 7280, "end": 7284, "loc": { "start": { "line": 230, "column": 34 }, "end": { "line": 230, "column": 38 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7285, "end": 7297, "loc": { "start": { "line": 230, "column": 39 }, "end": { "line": 230, "column": 51 }, "identifierName": "_bvh_padding" }, "name": "_bvh_padding" }, "computed": false } } }, "consequent": { "type": "BlockStatement", "start": 7299, "end": 7362, "loc": { "start": { "line": 230, "column": 53 }, "end": { "line": 233, "column": 4 } }, "body": [ { "type": "ExpressionStatement", "start": 7305, "end": 7338, "loc": { "start": { "line": 231, "column": 4 }, "end": { "line": 231, "column": 37 } }, "expression": { "type": "AssignmentExpression", "start": 7305, "end": 7337, "loc": { "start": { "line": 231, "column": 4 }, "end": { "line": 231, "column": 36 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 7305, "end": 7322, "loc": { "start": { "line": 231, "column": 4 }, "end": { "line": 231, "column": 21 } }, "object": { "type": "Identifier", "start": 7305, "end": 7309, "loc": { "start": { "line": 231, "column": 4 }, "end": { "line": 231, "column": 8 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7310, "end": 7322, "loc": { "start": { "line": 231, "column": 9 }, "end": { "line": 231, "column": 21 }, "identifierName": "_bvh_padding" }, "name": "_bvh_padding" }, "computed": false }, "right": { "type": "MemberExpression", "start": 7325, "end": 7337, "loc": { "start": { "line": 231, "column": 24 }, "end": { "line": 231, "column": 36 } }, "object": { "type": "Identifier", "start": 7325, "end": 7329, "loc": { "start": { "line": 231, "column": 24 }, "end": { "line": 231, "column": 28 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7330, "end": 7337, "loc": { "start": { "line": 231, "column": 29 }, "end": { "line": 231, "column": 36 }, "identifierName": "padding" }, "name": "padding" }, "computed": false } } }, { "type": "ExpressionStatement", "start": 7343, "end": 7357, "loc": { "start": { "line": 232, "column": 4 }, "end": { "line": 232, "column": 18 } }, "expression": { "type": "AssignmentExpression", "start": 7343, "end": 7356, "loc": { "start": { "line": 232, "column": 4 }, "end": { "line": 232, "column": 17 } }, "operator": "=", "left": { "type": "Identifier", "start": 7343, "end": 7349, "loc": { "start": { "line": 232, "column": 4 }, "end": { "line": 232, "column": 10 }, "identifierName": "update" }, "name": "update" }, "right": { "type": "BooleanLiteral", "start": 7352, "end": 7356, "loc": { "start": { "line": 232, "column": 13 }, "end": { "line": 232, "column": 17 } }, "value": true } } } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 7367, "end": 8166, "loc": { "start": { "line": 235, "column": 3 }, "end": { "line": 260, "column": 4 } }, "test": { "type": "UnaryExpression", "start": 7370, "end": 7377, "loc": { "start": { "line": 235, "column": 6 }, "end": { "line": 235, "column": 13 } }, "operator": "!", "prefix": true, "argument": { "type": "Identifier", "start": 7371, "end": 7377, "loc": { "start": { "line": 235, "column": 7 }, "end": { "line": 235, "column": 13 }, "identifierName": "update" }, "name": "update" }, "extra": { "parenthesizedArgument": false } }, "consequent": { "type": "BlockStatement", "start": 7379, "end": 8166, "loc": { "start": { "line": 235, "column": 15 }, "end": { "line": 260, "column": 4 } }, "body": [ { "type": "VariableDeclaration", "start": 7385, "end": 7415, "loc": { "start": { "line": 236, "column": 4 }, "end": { "line": 236, "column": 34 } }, "declarations": [ { "type": "VariableDeclarator", "start": 7391, "end": 7414, "loc": { "start": { "line": 236, "column": 10 }, "end": { "line": 236, "column": 33 } }, "id": { "type": "Identifier", "start": 7391, "end": 7398, "loc": { "start": { "line": 236, "column": 10 }, "end": { "line": 236, "column": 17 }, "identifierName": "polygon" }, "name": "polygon" }, "init": { "type": "MemberExpression", "start": 7401, "end": 7414, "loc": { "start": { "line": 236, "column": 20 }, "end": { "line": 236, "column": 33 } }, "object": { "type": "Identifier", "start": 7401, "end": 7405, "loc": { "start": { "line": 236, "column": 20 }, "end": { "line": 236, "column": 24 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7406, "end": 7414, "loc": { "start": { "line": 236, "column": 25 }, "end": { "line": 236, "column": 33 }, "identifierName": "_polygon" }, "name": "_polygon" }, "computed": false } } ], "kind": "const" }, { "type": "IfStatement", "start": 7421, "end": 7707, "loc": { "start": { "line": 238, "column": 4 }, "end": { "line": 249, "column": 5 } }, "test": { "type": "Identifier", "start": 7424, "end": 7431, "loc": { "start": { "line": 238, "column": 7 }, "end": { "line": 238, "column": 14 }, "identifierName": "polygon" }, "name": "polygon" }, "consequent": { "type": "BlockStatement", "start": 7433, "end": 7707, "loc": { "start": { "line": 238, "column": 16 }, "end": { "line": 249, "column": 5 } }, "body": [ { "type": "IfStatement", "start": 7440, "end": 7701, "loc": { "start": { "line": 239, "column": 5 }, "end": { "line": 248, "column": 6 } }, "test": { "type": "LogicalExpression", "start": 7450, "end": 7654, "loc": { "start": { "line": 240, "column": 6 }, "end": { "line": 245, "column": 36 } }, "left": { "type": "LogicalExpression", "start": 7450, "end": 7614, "loc": { "start": { "line": 240, "column": 6 }, "end": { "line": 244, "column": 36 } }, "left": { "type": "LogicalExpression", "start": 7450, "end": 7574, "loc": { "start": { "line": 240, "column": 6 }, "end": { "line": 243, "column": 34 } }, "left": { "type": "LogicalExpression", "start": 7450, "end": 7536, "loc": { "start": { "line": 240, "column": 6 }, "end": { "line": 242, "column": 30 } }, "left": { "type": "LogicalExpression", "start": 7450, "end": 7502, "loc": { "start": { "line": 240, "column": 6 }, "end": { "line": 241, "column": 30 } }, "left": { "type": "MemberExpression", "start": 7450, "end": 7468, "loc": { "start": { "line": 240, "column": 6 }, "end": { "line": 240, "column": 24 } }, "object": { "type": "Identifier", "start": 7450, "end": 7454, "loc": { "start": { "line": 240, "column": 6 }, "end": { "line": 240, "column": 10 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7455, "end": 7468, "loc": { "start": { "line": 240, "column": 11 }, "end": { "line": 240, "column": 24 }, "identifierName": "_dirty_coords" }, "name": "_dirty_coords" }, "computed": false }, "operator": "||", "right": { "type": "BinaryExpression", "start": 7478, "end": 7502, "loc": { "start": { "line": 241, "column": 6 }, "end": { "line": 241, "column": 30 } }, "left": { "type": "MemberExpression", "start": 7478, "end": 7484, "loc": { "start": { "line": 241, "column": 6 }, "end": { "line": 241, "column": 12 } }, "object": { "type": "Identifier", "start": 7478, "end": 7482, "loc": { "start": { "line": 241, "column": 6 }, "end": { "line": 241, "column": 10 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7483, "end": 7484, "loc": { "start": { "line": 241, "column": 11 }, "end": { "line": 241, "column": 12 }, "identifierName": "x" }, "name": "x" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 7495, "end": 7502, "loc": { "start": { "line": 241, "column": 23 }, "end": { "line": 241, "column": 30 } }, "object": { "type": "Identifier", "start": 7495, "end": 7499, "loc": { "start": { "line": 241, "column": 23 }, "end": { "line": 241, "column": 27 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7500, "end": 7502, "loc": { "start": { "line": 241, "column": 28 }, "end": { "line": 241, "column": 30 }, "identifierName": "_x" }, "name": "_x" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 7512, "end": 7536, "loc": { "start": { "line": 242, "column": 6 }, "end": { "line": 242, "column": 30 } }, "left": { "type": "MemberExpression", "start": 7512, "end": 7518, "loc": { "start": { "line": 242, "column": 6 }, "end": { "line": 242, "column": 12 } }, "object": { "type": "Identifier", "start": 7512, "end": 7516, "loc": { "start": { "line": 242, "column": 6 }, "end": { "line": 242, "column": 10 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7517, "end": 7518, "loc": { "start": { "line": 242, "column": 11 }, "end": { "line": 242, "column": 12 }, "identifierName": "y" }, "name": "y" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 7529, "end": 7536, "loc": { "start": { "line": 242, "column": 23 }, "end": { "line": 242, "column": 30 } }, "object": { "type": "Identifier", "start": 7529, "end": 7533, "loc": { "start": { "line": 242, "column": 23 }, "end": { "line": 242, "column": 27 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7534, "end": 7536, "loc": { "start": { "line": 242, "column": 28 }, "end": { "line": 242, "column": 30 }, "identifierName": "_y" }, "name": "_y" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 7546, "end": 7574, "loc": { "start": { "line": 243, "column": 6 }, "end": { "line": 243, "column": 34 } }, "left": { "type": "MemberExpression", "start": 7546, "end": 7556, "loc": { "start": { "line": 243, "column": 6 }, "end": { "line": 243, "column": 16 } }, "object": { "type": "Identifier", "start": 7546, "end": 7550, "loc": { "start": { "line": 243, "column": 6 }, "end": { "line": 243, "column": 10 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7551, "end": 7556, "loc": { "start": { "line": 243, "column": 11 }, "end": { "line": 243, "column": 16 }, "identifierName": "angle" }, "name": "angle" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 7563, "end": 7574, "loc": { "start": { "line": 243, "column": 23 }, "end": { "line": 243, "column": 34 } }, "object": { "type": "Identifier", "start": 7563, "end": 7567, "loc": { "start": { "line": 243, "column": 23 }, "end": { "line": 243, "column": 27 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7568, "end": 7574, "loc": { "start": { "line": 243, "column": 28 }, "end": { "line": 243, "column": 34 }, "identifierName": "_angle" }, "name": "_angle" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 7584, "end": 7614, "loc": { "start": { "line": 244, "column": 6 }, "end": { "line": 244, "column": 36 } }, "left": { "type": "MemberExpression", "start": 7584, "end": 7596, "loc": { "start": { "line": 244, "column": 6 }, "end": { "line": 244, "column": 18 } }, "object": { "type": "Identifier", "start": 7584, "end": 7588, "loc": { "start": { "line": 244, "column": 6 }, "end": { "line": 244, "column": 10 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7589, "end": 7596, "loc": { "start": { "line": 244, "column": 11 }, "end": { "line": 244, "column": 18 }, "identifierName": "scale_x" }, "name": "scale_x" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 7601, "end": 7614, "loc": { "start": { "line": 244, "column": 23 }, "end": { "line": 244, "column": 36 } }, "object": { "type": "Identifier", "start": 7601, "end": 7605, "loc": { "start": { "line": 244, "column": 23 }, "end": { "line": 244, "column": 27 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7606, "end": 7614, "loc": { "start": { "line": 244, "column": 28 }, "end": { "line": 244, "column": 36 }, "identifierName": "_scale_x" }, "name": "_scale_x" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 7624, "end": 7654, "loc": { "start": { "line": 245, "column": 6 }, "end": { "line": 245, "column": 36 } }, "left": { "type": "MemberExpression", "start": 7624, "end": 7636, "loc": { "start": { "line": 245, "column": 6 }, "end": { "line": 245, "column": 18 } }, "object": { "type": "Identifier", "start": 7624, "end": 7628, "loc": { "start": { "line": 245, "column": 6 }, "end": { "line": 245, "column": 10 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7629, "end": 7636, "loc": { "start": { "line": 245, "column": 11 }, "end": { "line": 245, "column": 18 }, "identifierName": "scale_y" }, "name": "scale_y" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 7641, "end": 7654, "loc": { "start": { "line": 245, "column": 23 }, "end": { "line": 245, "column": 36 } }, "object": { "type": "Identifier", "start": 7641, "end": 7645, "loc": { "start": { "line": 245, "column": 23 }, "end": { "line": 245, "column": 27 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7646, "end": 7654, "loc": { "start": { "line": 245, "column": 28 }, "end": { "line": 245, "column": 36 }, "identifierName": "_scale_y" }, "name": "_scale_y" }, "computed": false } } }, "consequent": { "type": "BlockStatement", "start": 7662, "end": 7701, "loc": { "start": { "line": 246, "column": 7 }, "end": { "line": 248, "column": 6 } }, "body": [ { "type": "ExpressionStatement", "start": 7670, "end": 7694, "loc": { "start": { "line": 247, "column": 6 }, "end": { "line": 247, "column": 30 } }, "expression": { "type": "CallExpression", "start": 7670, "end": 7693, "loc": { "start": { "line": 247, "column": 6 }, "end": { "line": 247, "column": 29 } }, "callee": { "type": "MemberExpression", "start": 7670, "end": 7691, "loc": { "start": { "line": 247, "column": 6 }, "end": { "line": 247, "column": 27 } }, "object": { "type": "Identifier", "start": 7670, "end": 7674, "loc": { "start": { "line": 247, "column": 6 }, "end": { "line": 247, "column": 10 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7675, "end": 7691, "loc": { "start": { "line": 247, "column": 11 }, "end": { "line": 247, "column": 27 }, "identifierName": "_calculateCoords" }, "name": "_calculateCoords" }, "computed": false }, "arguments": [] } } ], "directives": [] }, "alternate": null } ], "directives": [] }, "alternate": null }, { "type": "VariableDeclaration", "start": 7713, "end": 7735, "loc": { "start": { "line": 251, "column": 4 }, "end": { "line": 251, "column": 26 } }, "declarations": [ { "type": "VariableDeclarator", "start": 7719, "end": 7734, "loc": { "start": { "line": 251, "column": 10 }, "end": { "line": 251, "column": 25 } }, "id": { "type": "Identifier", "start": 7719, "end": 7720, "loc": { "start": { "line": 251, "column": 10 }, "end": { "line": 251, "column": 11 }, "identifierName": "x" }, "name": "x" }, "init": { "type": "MemberExpression", "start": 7728, "end": 7734, "loc": { "start": { "line": 251, "column": 19 }, "end": { "line": 251, "column": 25 } }, "object": { "type": "Identifier", "start": 7728, "end": 7732, "loc": { "start": { "line": 251, "column": 19 }, "end": { "line": 251, "column": 23 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7733, "end": 7734, "loc": { "start": { "line": 251, "column": 24 }, "end": { "line": 251, "column": 25 }, "identifierName": "x" }, "name": "x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 7740, "end": 7762, "loc": { "start": { "line": 252, "column": 4 }, "end": { "line": 252, "column": 26 } }, "declarations": [ { "type": "VariableDeclarator", "start": 7746, "end": 7761, "loc": { "start": { "line": 252, "column": 10 }, "end": { "line": 252, "column": 25 } }, "id": { "type": "Identifier", "start": 7746, "end": 7747, "loc": { "start": { "line": 252, "column": 10 }, "end": { "line": 252, "column": 11 }, "identifierName": "y" }, "name": "y" }, "init": { "type": "MemberExpression", "start": 7755, "end": 7761, "loc": { "start": { "line": 252, "column": 19 }, "end": { "line": 252, "column": 25 } }, "object": { "type": "Identifier", "start": 7755, "end": 7759, "loc": { "start": { "line": 252, "column": 19 }, "end": { "line": 252, "column": 23 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7760, "end": 7761, "loc": { "start": { "line": 252, "column": 24 }, "end": { "line": 252, "column": 25 }, "identifierName": "y" }, "name": "y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 7767, "end": 7821, "loc": { "start": { "line": 253, "column": 4 }, "end": { "line": 253, "column": 58 } }, "declarations": [ { "type": "VariableDeclarator", "start": 7773, "end": 7820, "loc": { "start": { "line": 253, "column": 10 }, "end": { "line": 253, "column": 57 } }, "id": { "type": "Identifier", "start": 7773, "end": 7779, "loc": { "start": { "line": 253, "column": 10 }, "end": { "line": 253, "column": 16 }, "identifierName": "radius" }, "name": "radius" }, "init": { "type": "ConditionalExpression", "start": 7782, "end": 7820, "loc": { "start": { "line": 253, "column": 19 }, "end": { "line": 253, "column": 57 } }, "test": { "type": "Identifier", "start": 7782, "end": 7789, "loc": { "start": { "line": 253, "column": 19 }, "end": { "line": 253, "column": 26 }, "identifierName": "polygon" }, "name": "polygon" }, "consequent": { "type": "NumericLiteral", "start": 7792, "end": 7793, "loc": { "start": { "line": 253, "column": 29 }, "end": { "line": 253, "column": 30 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "alternate": { "type": "BinaryExpression", "start": 7796, "end": 7820, "loc": { "start": { "line": 253, "column": 33 }, "end": { "line": 253, "column": 57 } }, "left": { "type": "MemberExpression", "start": 7796, "end": 7807, "loc": { "start": { "line": 253, "column": 33 }, "end": { "line": 253, "column": 44 } }, "object": { "type": "Identifier", "start": 7796, "end": 7800, "loc": { "start": { "line": 253, "column": 33 }, "end": { "line": 253, "column": 37 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7801, "end": 7807, "loc": { "start": { "line": 253, "column": 38 }, "end": { "line": 253, "column": 44 }, "identifierName": "radius" }, "name": "radius" }, "computed": false }, "operator": "*", "right": { "type": "MemberExpression", "start": 7810, "end": 7820, "loc": { "start": { "line": 253, "column": 47 }, "end": { "line": 253, "column": 57 } }, "object": { "type": "Identifier", "start": 7810, "end": 7814, "loc": { "start": { "line": 253, "column": 47 }, "end": { "line": 253, "column": 51 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7815, "end": 7820, "loc": { "start": { "line": 253, "column": 52 }, "end": { "line": 253, "column": 57 }, "identifierName": "scale" }, "name": "scale" }, "computed": false } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 7826, "end": 7876, "loc": { "start": { "line": 254, "column": 4 }, "end": { "line": 254, "column": 54 } }, "declarations": [ { "type": "VariableDeclarator", "start": 7832, "end": 7875, "loc": { "start": { "line": 254, "column": 10 }, "end": { "line": 254, "column": 53 } }, "id": { "type": "Identifier", "start": 7832, "end": 7837, "loc": { "start": { "line": 254, "column": 10 }, "end": { "line": 254, "column": 15 }, "identifierName": "min_x" }, "name": "min_x" }, "init": { "type": "ConditionalExpression", "start": 7841, "end": 7875, "loc": { "start": { "line": 254, "column": 19 }, "end": { "line": 254, "column": 53 } }, "test": { "type": "Identifier", "start": 7841, "end": 7848, "loc": { "start": { "line": 254, "column": 19 }, "end": { "line": 254, "column": 26 }, "identifierName": "polygon" }, "name": "polygon" }, "consequent": { "type": "MemberExpression", "start": 7851, "end": 7862, "loc": { "start": { "line": 254, "column": 29 }, "end": { "line": 254, "column": 40 } }, "object": { "type": "Identifier", "start": 7851, "end": 7855, "loc": { "start": { "line": 254, "column": 29 }, "end": { "line": 254, "column": 33 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7856, "end": 7862, "loc": { "start": { "line": 254, "column": 34 }, "end": { "line": 254, "column": 40 }, "identifierName": "_min_x" }, "name": "_min_x" }, "computed": false }, "alternate": { "type": "BinaryExpression", "start": 7865, "end": 7875, "loc": { "start": { "line": 254, "column": 43 }, "end": { "line": 254, "column": 53 } }, "left": { "type": "Identifier", "start": 7865, "end": 7866, "loc": { "start": { "line": 254, "column": 43 }, "end": { "line": 254, "column": 44 }, "identifierName": "x" }, "name": "x" }, "operator": "-", "right": { "type": "Identifier", "start": 7869, "end": 7875, "loc": { "start": { "line": 254, "column": 47 }, "end": { "line": 254, "column": 53 }, "identifierName": "radius" }, "name": "radius" } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 7881, "end": 7931, "loc": { "start": { "line": 255, "column": 4 }, "end": { "line": 255, "column": 54 } }, "declarations": [ { "type": "VariableDeclarator", "start": 7887, "end": 7930, "loc": { "start": { "line": 255, "column": 10 }, "end": { "line": 255, "column": 53 } }, "id": { "type": "Identifier", "start": 7887, "end": 7892, "loc": { "start": { "line": 255, "column": 10 }, "end": { "line": 255, "column": 15 }, "identifierName": "min_y" }, "name": "min_y" }, "init": { "type": "ConditionalExpression", "start": 7896, "end": 7930, "loc": { "start": { "line": 255, "column": 19 }, "end": { "line": 255, "column": 53 } }, "test": { "type": "Identifier", "start": 7896, "end": 7903, "loc": { "start": { "line": 255, "column": 19 }, "end": { "line": 255, "column": 26 }, "identifierName": "polygon" }, "name": "polygon" }, "consequent": { "type": "MemberExpression", "start": 7906, "end": 7917, "loc": { "start": { "line": 255, "column": 29 }, "end": { "line": 255, "column": 40 } }, "object": { "type": "Identifier", "start": 7906, "end": 7910, "loc": { "start": { "line": 255, "column": 29 }, "end": { "line": 255, "column": 33 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7911, "end": 7917, "loc": { "start": { "line": 255, "column": 34 }, "end": { "line": 255, "column": 40 }, "identifierName": "_min_y" }, "name": "_min_y" }, "computed": false }, "alternate": { "type": "BinaryExpression", "start": 7920, "end": 7930, "loc": { "start": { "line": 255, "column": 43 }, "end": { "line": 255, "column": 53 } }, "left": { "type": "Identifier", "start": 7920, "end": 7921, "loc": { "start": { "line": 255, "column": 43 }, "end": { "line": 255, "column": 44 }, "identifierName": "y" }, "name": "y" }, "operator": "-", "right": { "type": "Identifier", "start": 7924, "end": 7930, "loc": { "start": { "line": 255, "column": 47 }, "end": { "line": 255, "column": 53 }, "identifierName": "radius" }, "name": "radius" } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 7936, "end": 7986, "loc": { "start": { "line": 256, "column": 4 }, "end": { "line": 256, "column": 54 } }, "declarations": [ { "type": "VariableDeclarator", "start": 7942, "end": 7985, "loc": { "start": { "line": 256, "column": 10 }, "end": { "line": 256, "column": 53 } }, "id": { "type": "Identifier", "start": 7942, "end": 7947, "loc": { "start": { "line": 256, "column": 10 }, "end": { "line": 256, "column": 15 }, "identifierName": "max_x" }, "name": "max_x" }, "init": { "type": "ConditionalExpression", "start": 7951, "end": 7985, "loc": { "start": { "line": 256, "column": 19 }, "end": { "line": 256, "column": 53 } }, "test": { "type": "Identifier", "start": 7951, "end": 7958, "loc": { "start": { "line": 256, "column": 19 }, "end": { "line": 256, "column": 26 }, "identifierName": "polygon" }, "name": "polygon" }, "consequent": { "type": "MemberExpression", "start": 7961, "end": 7972, "loc": { "start": { "line": 256, "column": 29 }, "end": { "line": 256, "column": 40 } }, "object": { "type": "Identifier", "start": 7961, "end": 7965, "loc": { "start": { "line": 256, "column": 29 }, "end": { "line": 256, "column": 33 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 7966, "end": 7972, "loc": { "start": { "line": 256, "column": 34 }, "end": { "line": 256, "column": 40 }, "identifierName": "_max_x" }, "name": "_max_x" }, "computed": false }, "alternate": { "type": "BinaryExpression", "start": 7975, "end": 7985, "loc": { "start": { "line": 256, "column": 43 }, "end": { "line": 256, "column": 53 } }, "left": { "type": "Identifier", "start": 7975, "end": 7976, "loc": { "start": { "line": 256, "column": 43 }, "end": { "line": 256, "column": 44 }, "identifierName": "x" }, "name": "x" }, "operator": "+", "right": { "type": "Identifier", "start": 7979, "end": 7985, "loc": { "start": { "line": 256, "column": 47 }, "end": { "line": 256, "column": 53 }, "identifierName": "radius" }, "name": "radius" } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 7991, "end": 8041, "loc": { "start": { "line": 257, "column": 4 }, "end": { "line": 257, "column": 54 } }, "declarations": [ { "type": "VariableDeclarator", "start": 7997, "end": 8040, "loc": { "start": { "line": 257, "column": 10 }, "end": { "line": 257, "column": 53 } }, "id": { "type": "Identifier", "start": 7997, "end": 8002, "loc": { "start": { "line": 257, "column": 10 }, "end": { "line": 257, "column": 15 }, "identifierName": "max_y" }, "name": "max_y" }, "init": { "type": "ConditionalExpression", "start": 8006, "end": 8040, "loc": { "start": { "line": 257, "column": 19 }, "end": { "line": 257, "column": 53 } }, "test": { "type": "Identifier", "start": 8006, "end": 8013, "loc": { "start": { "line": 257, "column": 19 }, "end": { "line": 257, "column": 26 }, "identifierName": "polygon" }, "name": "polygon" }, "consequent": { "type": "MemberExpression", "start": 8016, "end": 8027, "loc": { "start": { "line": 257, "column": 29 }, "end": { "line": 257, "column": 40 } }, "object": { "type": "Identifier", "start": 8016, "end": 8020, "loc": { "start": { "line": 257, "column": 29 }, "end": { "line": 257, "column": 33 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 8021, "end": 8027, "loc": { "start": { "line": 257, "column": 34 }, "end": { "line": 257, "column": 40 }, "identifierName": "_max_y" }, "name": "_max_y" }, "computed": false }, "alternate": { "type": "BinaryExpression", "start": 8030, "end": 8040, "loc": { "start": { "line": 257, "column": 43 }, "end": { "line": 257, "column": 53 } }, "left": { "type": "Identifier", "start": 8030, "end": 8031, "loc": { "start": { "line": 257, "column": 43 }, "end": { "line": 257, "column": 44 }, "identifierName": "y" }, "name": "y" }, "operator": "+", "right": { "type": "Identifier", "start": 8034, "end": 8040, "loc": { "start": { "line": 257, "column": 47 }, "end": { "line": 257, "column": 53 }, "identifierName": "radius" }, "name": "radius" } } } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 8047, "end": 8161, "loc": { "start": { "line": 259, "column": 4 }, "end": { "line": 259, "column": 118 } }, "expression": { "type": "AssignmentExpression", "start": 8047, "end": 8160, "loc": { "start": { "line": 259, "column": 4 }, "end": { "line": 259, "column": 117 } }, "operator": "=", "left": { "type": "Identifier", "start": 8047, "end": 8053, "loc": { "start": { "line": 259, "column": 4 }, "end": { "line": 259, "column": 10 }, "identifierName": "update" }, "name": "update" }, "right": { "type": "LogicalExpression", "start": 8056, "end": 8160, "loc": { "start": { "line": 259, "column": 13 }, "end": { "line": 259, "column": 117 } }, "left": { "type": "LogicalExpression", "start": 8056, "end": 8133, "loc": { "start": { "line": 259, "column": 13 }, "end": { "line": 259, "column": 90 } }, "left": { "type": "LogicalExpression", "start": 8056, "end": 8106, "loc": { "start": { "line": 259, "column": 13 }, "end": { "line": 259, "column": 63 } }, "left": { "type": "BinaryExpression", "start": 8056, "end": 8079, "loc": { "start": { "line": 259, "column": 13 }, "end": { "line": 259, "column": 36 } }, "left": { "type": "Identifier", "start": 8056, "end": 8061, "loc": { "start": { "line": 259, "column": 13 }, "end": { "line": 259, "column": 18 }, "identifierName": "min_x" }, "name": "min_x" }, "operator": "<", "right": { "type": "MemberExpression", "start": 8064, "end": 8079, "loc": { "start": { "line": 259, "column": 21 }, "end": { "line": 259, "column": 36 } }, "object": { "type": "Identifier", "start": 8064, "end": 8068, "loc": { "start": { "line": 259, "column": 21 }, "end": { "line": 259, "column": 25 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 8069, "end": 8079, "loc": { "start": { "line": 259, "column": 26 }, "end": { "line": 259, "column": 36 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 8083, "end": 8106, "loc": { "start": { "line": 259, "column": 40 }, "end": { "line": 259, "column": 63 } }, "left": { "type": "Identifier", "start": 8083, "end": 8088, "loc": { "start": { "line": 259, "column": 40 }, "end": { "line": 259, "column": 45 }, "identifierName": "min_y" }, "name": "min_y" }, "operator": "<", "right": { "type": "MemberExpression", "start": 8091, "end": 8106, "loc": { "start": { "line": 259, "column": 48 }, "end": { "line": 259, "column": 63 } }, "object": { "type": "Identifier", "start": 8091, "end": 8095, "loc": { "start": { "line": 259, "column": 48 }, "end": { "line": 259, "column": 52 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 8096, "end": 8106, "loc": { "start": { "line": 259, "column": 53 }, "end": { "line": 259, "column": 63 }, "identifierName": "_bvh_min_y" }, "name": "_bvh_min_y" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 8110, "end": 8133, "loc": { "start": { "line": 259, "column": 67 }, "end": { "line": 259, "column": 90 } }, "left": { "type": "Identifier", "start": 8110, "end": 8115, "loc": { "start": { "line": 259, "column": 67 }, "end": { "line": 259, "column": 72 }, "identifierName": "max_x" }, "name": "max_x" }, "operator": ">", "right": { "type": "MemberExpression", "start": 8118, "end": 8133, "loc": { "start": { "line": 259, "column": 75 }, "end": { "line": 259, "column": 90 } }, "object": { "type": "Identifier", "start": 8118, "end": 8122, "loc": { "start": { "line": 259, "column": 75 }, "end": { "line": 259, "column": 79 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 8123, "end": 8133, "loc": { "start": { "line": 259, "column": 80 }, "end": { "line": 259, "column": 90 }, "identifierName": "_bvh_max_x" }, "name": "_bvh_max_x" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 8137, "end": 8160, "loc": { "start": { "line": 259, "column": 94 }, "end": { "line": 259, "column": 117 } }, "left": { "type": "Identifier", "start": 8137, "end": 8142, "loc": { "start": { "line": 259, "column": 94 }, "end": { "line": 259, "column": 99 }, "identifierName": "max_y" }, "name": "max_y" }, "operator": ">", "right": { "type": "MemberExpression", "start": 8145, "end": 8160, "loc": { "start": { "line": 259, "column": 102 }, "end": { "line": 259, "column": 117 } }, "object": { "type": "Identifier", "start": 8145, "end": 8149, "loc": { "start": { "line": 259, "column": 102 }, "end": { "line": 259, "column": 106 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 8150, "end": 8160, "loc": { "start": { "line": 259, "column": 107 }, "end": { "line": 259, "column": 117 }, "identifierName": "_bvh_max_y" }, "name": "_bvh_max_y" }, "computed": false } } } } } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 8171, "end": 8246, "loc": { "start": { "line": 262, "column": 3 }, "end": { "line": 265, "column": 4 } }, "test": { "type": "Identifier", "start": 8174, "end": 8180, "loc": { "start": { "line": 262, "column": 6 }, "end": { "line": 262, "column": 12 }, "identifierName": "update" }, "name": "update" }, "consequent": { "type": "BlockStatement", "start": 8182, "end": 8246, "loc": { "start": { "line": 262, "column": 14 }, "end": { "line": 265, "column": 4 } }, "body": [ { "type": "ExpressionStatement", "start": 8188, "end": 8212, "loc": { "start": { "line": 263, "column": 4 }, "end": { "line": 263, "column": 28 } }, "expression": { "type": "CallExpression", "start": 8188, "end": 8211, "loc": { "start": { "line": 263, "column": 4 }, "end": { "line": 263, "column": 27 } }, "callee": { "type": "MemberExpression", "start": 8188, "end": 8199, "loc": { "start": { "line": 263, "column": 4 }, "end": { "line": 263, "column": 15 } }, "object": { "type": "ThisExpression", "start": 8188, "end": 8192, "loc": { "start": { "line": 263, "column": 4 }, "end": { "line": 263, "column": 8 } } }, "property": { "type": "Identifier", "start": 8193, "end": 8199, "loc": { "start": { "line": 263, "column": 9 }, "end": { "line": 263, "column": 15 }, "identifierName": "remove" }, "name": "remove" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 8200, "end": 8204, "loc": { "start": { "line": 263, "column": 16 }, "end": { "line": 263, "column": 20 }, "identifierName": "body" }, "name": "body" }, { "type": "BooleanLiteral", "start": 8206, "end": 8210, "loc": { "start": { "line": 263, "column": 22 }, "end": { "line": 263, "column": 26 } }, "value": true } ] } }, { "type": "ExpressionStatement", "start": 8217, "end": 8241, "loc": { "start": { "line": 264, "column": 4 }, "end": { "line": 264, "column": 28 } }, "expression": { "type": "CallExpression", "start": 8217, "end": 8240, "loc": { "start": { "line": 264, "column": 4 }, "end": { "line": 264, "column": 27 } }, "callee": { "type": "MemberExpression", "start": 8217, "end": 8228, "loc": { "start": { "line": 264, "column": 4 }, "end": { "line": 264, "column": 15 } }, "object": { "type": "ThisExpression", "start": 8217, "end": 8221, "loc": { "start": { "line": 264, "column": 4 }, "end": { "line": 264, "column": 8 } } }, "property": { "type": "Identifier", "start": 8222, "end": 8228, "loc": { "start": { "line": 264, "column": 9 }, "end": { "line": 264, "column": 15 }, "identifierName": "insert" }, "name": "insert" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 8229, "end": 8233, "loc": { "start": { "line": 264, "column": 16 }, "end": { "line": 264, "column": 20 }, "identifierName": "body" }, "name": "body" }, { "type": "BooleanLiteral", "start": 8235, "end": 8239, "loc": { "start": { "line": 264, "column": 22 }, "end": { "line": 264, "column": 26 } }, "value": true } ] } } ], "directives": [] }, "alternate": null } ], "directives": [] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Updates the BVH. Moved bodies are removed/inserted.\n\t ", "start": 7018, "end": 7082, "loc": { "start": { "line": 218, "column": 1 }, "end": { "line": 220, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test\n\t * @returns {Array}\n\t ", "start": 8256, "end": 8401, "loc": { "start": { "line": 269, "column": 1 }, "end": { "line": 273, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 8403, "end": 9763, "loc": { "start": { "line": 274, "column": 1 }, "end": { "line": 341, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 8403, "end": 8413, "loc": { "start": { "line": 274, "column": 1 }, "end": { "line": 274, "column": 11 }, "identifierName": "potentials" }, "name": "potentials", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 8414, "end": 8418, "loc": { "start": { "line": 274, "column": 12 }, "end": { "line": 274, "column": 16 }, "identifierName": "body" }, "name": "body" } ], "body": { "type": "BlockStatement", "start": 8420, "end": 9763, "loc": { "start": { "line": 274, "column": 18 }, "end": { "line": 341, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 8424, "end": 8443, "loc": { "start": { "line": 275, "column": 2 }, "end": { "line": 275, "column": 21 } }, "declarations": [ { "type": "VariableDeclarator", "start": 8430, "end": 8442, "loc": { "start": { "line": 275, "column": 8 }, "end": { "line": 275, "column": 20 } }, "id": { "type": "Identifier", "start": 8430, "end": 8437, "loc": { "start": { "line": 275, "column": 8 }, "end": { "line": 275, "column": 15 }, "identifierName": "results" }, "name": "results" }, "init": { "type": "ArrayExpression", "start": 8440, "end": 8442, "loc": { "start": { "line": 275, "column": 18 }, "end": { "line": 275, "column": 20 } }, "elements": [] } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 8446, "end": 8478, "loc": { "start": { "line": 276, "column": 2 }, "end": { "line": 276, "column": 34 } }, "declarations": [ { "type": "VariableDeclarator", "start": 8452, "end": 8477, "loc": { "start": { "line": 276, "column": 8 }, "end": { "line": 276, "column": 33 } }, "id": { "type": "Identifier", "start": 8452, "end": 8457, "loc": { "start": { "line": 276, "column": 8 }, "end": { "line": 276, "column": 13 }, "identifierName": "min_x" }, "name": "min_x" }, "init": { "type": "MemberExpression", "start": 8462, "end": 8477, "loc": { "start": { "line": 276, "column": 18 }, "end": { "line": 276, "column": 33 } }, "object": { "type": "Identifier", "start": 8462, "end": 8466, "loc": { "start": { "line": 276, "column": 18 }, "end": { "line": 276, "column": 22 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 8467, "end": 8477, "loc": { "start": { "line": 276, "column": 23 }, "end": { "line": 276, "column": 33 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 8481, "end": 8513, "loc": { "start": { "line": 277, "column": 2 }, "end": { "line": 277, "column": 34 } }, "declarations": [ { "type": "VariableDeclarator", "start": 8487, "end": 8512, "loc": { "start": { "line": 277, "column": 8 }, "end": { "line": 277, "column": 33 } }, "id": { "type": "Identifier", "start": 8487, "end": 8492, "loc": { "start": { "line": 277, "column": 8 }, "end": { "line": 277, "column": 13 }, "identifierName": "min_y" }, "name": "min_y" }, "init": { "type": "MemberExpression", "start": 8497, "end": 8512, "loc": { "start": { "line": 277, "column": 18 }, "end": { "line": 277, "column": 33 } }, "object": { "type": "Identifier", "start": 8497, "end": 8501, "loc": { "start": { "line": 277, "column": 18 }, "end": { "line": 277, "column": 22 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 8502, "end": 8512, "loc": { "start": { "line": 277, "column": 23 }, "end": { "line": 277, "column": 33 }, "identifierName": "_bvh_min_y" }, "name": "_bvh_min_y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 8516, "end": 8548, "loc": { "start": { "line": 278, "column": 2 }, "end": { "line": 278, "column": 34 } }, "declarations": [ { "type": "VariableDeclarator", "start": 8522, "end": 8547, "loc": { "start": { "line": 278, "column": 8 }, "end": { "line": 278, "column": 33 } }, "id": { "type": "Identifier", "start": 8522, "end": 8527, "loc": { "start": { "line": 278, "column": 8 }, "end": { "line": 278, "column": 13 }, "identifierName": "max_x" }, "name": "max_x" }, "init": { "type": "MemberExpression", "start": 8532, "end": 8547, "loc": { "start": { "line": 278, "column": 18 }, "end": { "line": 278, "column": 33 } }, "object": { "type": "Identifier", "start": 8532, "end": 8536, "loc": { "start": { "line": 278, "column": 18 }, "end": { "line": 278, "column": 22 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 8537, "end": 8547, "loc": { "start": { "line": 278, "column": 23 }, "end": { "line": 278, "column": 33 }, "identifierName": "_bvh_max_x" }, "name": "_bvh_max_x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 8551, "end": 8583, "loc": { "start": { "line": 279, "column": 2 }, "end": { "line": 279, "column": 34 } }, "declarations": [ { "type": "VariableDeclarator", "start": 8557, "end": 8582, "loc": { "start": { "line": 279, "column": 8 }, "end": { "line": 279, "column": 33 } }, "id": { "type": "Identifier", "start": 8557, "end": 8562, "loc": { "start": { "line": 279, "column": 8 }, "end": { "line": 279, "column": 13 }, "identifierName": "max_y" }, "name": "max_y" }, "init": { "type": "MemberExpression", "start": 8567, "end": 8582, "loc": { "start": { "line": 279, "column": 18 }, "end": { "line": 279, "column": 33 } }, "object": { "type": "Identifier", "start": 8567, "end": 8571, "loc": { "start": { "line": 279, "column": 18 }, "end": { "line": 279, "column": 22 }, "identifierName": "body" }, "name": "body" }, "property": { "type": "Identifier", "start": 8572, "end": 8582, "loc": { "start": { "line": 279, "column": 23 }, "end": { "line": 279, "column": 33 }, "identifierName": "_bvh_max_y" }, "name": "_bvh_max_y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 8587, "end": 8623, "loc": { "start": { "line": 281, "column": 2 }, "end": { "line": 281, "column": 38 } }, "declarations": [ { "type": "VariableDeclarator", "start": 8591, "end": 8622, "loc": { "start": { "line": 281, "column": 6 }, "end": { "line": 281, "column": 37 } }, "id": { "type": "Identifier", "start": 8591, "end": 8598, "loc": { "start": { "line": 281, "column": 6 }, "end": { "line": 281, "column": 13 }, "identifierName": "current" }, "name": "current" }, "init": { "type": "MemberExpression", "start": 8607, "end": 8622, "loc": { "start": { "line": 281, "column": 22 }, "end": { "line": 281, "column": 37 } }, "object": { "type": "ThisExpression", "start": 8607, "end": 8611, "loc": { "start": { "line": 281, "column": 22 }, "end": { "line": 281, "column": 26 } } }, "property": { "type": "Identifier", "start": 8612, "end": 8622, "loc": { "start": { "line": 281, "column": 27 }, "end": { "line": 281, "column": 37 }, "identifierName": "_hierarchy" }, "name": "_hierarchy" }, "computed": false } } ], "kind": "let" }, { "type": "VariableDeclaration", "start": 8626, "end": 8651, "loc": { "start": { "line": 282, "column": 2 }, "end": { "line": 282, "column": 27 } }, "declarations": [ { "type": "VariableDeclarator", "start": 8630, "end": 8650, "loc": { "start": { "line": 282, "column": 6 }, "end": { "line": 282, "column": 26 } }, "id": { "type": "Identifier", "start": 8630, "end": 8643, "loc": { "start": { "line": 282, "column": 6 }, "end": { "line": 282, "column": 19 }, "identifierName": "traverse_left" }, "name": "traverse_left" }, "init": { "type": "BooleanLiteral", "start": 8646, "end": 8650, "loc": { "start": { "line": 282, "column": 22 }, "end": { "line": 282, "column": 26 } }, "value": true } } ], "kind": "let" }, { "type": "IfStatement", "start": 8655, "end": 8716, "loc": { "start": { "line": 284, "column": 2 }, "end": { "line": 286, "column": 3 } }, "test": { "type": "LogicalExpression", "start": 8658, "end": 8690, "loc": { "start": { "line": 284, "column": 5 }, "end": { "line": 284, "column": 37 } }, "left": { "type": "UnaryExpression", "start": 8658, "end": 8666, "loc": { "start": { "line": 284, "column": 5 }, "end": { "line": 284, "column": 13 } }, "operator": "!", "prefix": true, "argument": { "type": "Identifier", "start": 8659, "end": 8666, "loc": { "start": { "line": 284, "column": 6 }, "end": { "line": 284, "column": 13 }, "identifierName": "current" }, "name": "current" }, "extra": { "parenthesizedArgument": false } }, "operator": "||", "right": { "type": "UnaryExpression", "start": 8670, "end": 8690, "loc": { "start": { "line": 284, "column": 17 }, "end": { "line": 284, "column": 37 } }, "operator": "!", "prefix": true, "argument": { "type": "MemberExpression", "start": 8671, "end": 8690, "loc": { "start": { "line": 284, "column": 18 }, "end": { "line": 284, "column": 37 } }, "object": { "type": "Identifier", "start": 8671, "end": 8678, "loc": { "start": { "line": 284, "column": 18 }, "end": { "line": 284, "column": 25 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 8679, "end": 8690, "loc": { "start": { "line": 284, "column": 26 }, "end": { "line": 284, "column": 37 }, "identifierName": "_bvh_branch" }, "name": "_bvh_branch" }, "computed": false }, "extra": { "parenthesizedArgument": false } } }, "consequent": { "type": "BlockStatement", "start": 8692, "end": 8716, "loc": { "start": { "line": 284, "column": 39 }, "end": { "line": 286, "column": 3 } }, "body": [ { "type": "ReturnStatement", "start": 8697, "end": 8712, "loc": { "start": { "line": 285, "column": 3 }, "end": { "line": 285, "column": 18 } }, "argument": { "type": "Identifier", "start": 8704, "end": 8711, "loc": { "start": { "line": 285, "column": 10 }, "end": { "line": 285, "column": 17 }, "identifierName": "results" }, "name": "results" } } ], "directives": [] }, "alternate": null }, { "type": "WhileStatement", "start": 8720, "end": 9741, "loc": { "start": { "line": 288, "column": 2 }, "end": { "line": 338, "column": 3 } }, "test": { "type": "Identifier", "start": 8726, "end": 8733, "loc": { "start": { "line": 288, "column": 8 }, "end": { "line": 288, "column": 15 }, "identifierName": "current" }, "name": "current" }, "body": { "type": "BlockStatement", "start": 8735, "end": 9741, "loc": { "start": { "line": 288, "column": 17 }, "end": { "line": 338, "column": 3 } }, "body": [ { "type": "IfStatement", "start": 8740, "end": 9107, "loc": { "start": { "line": 289, "column": 3 }, "end": { "line": 304, "column": 4 } }, "test": { "type": "Identifier", "start": 8743, "end": 8756, "loc": { "start": { "line": 289, "column": 6 }, "end": { "line": 289, "column": 19 }, "identifierName": "traverse_left" }, "name": "traverse_left" }, "consequent": { "type": "BlockStatement", "start": 8758, "end": 9107, "loc": { "start": { "line": 289, "column": 21 }, "end": { "line": 304, "column": 4 } }, "body": [ { "type": "ExpressionStatement", "start": 8764, "end": 8786, "loc": { "start": { "line": 290, "column": 4 }, "end": { "line": 290, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 8764, "end": 8785, "loc": { "start": { "line": 290, "column": 4 }, "end": { "line": 290, "column": 25 } }, "operator": "=", "left": { "type": "Identifier", "start": 8764, "end": 8777, "loc": { "start": { "line": 290, "column": 4 }, "end": { "line": 290, "column": 17 }, "identifierName": "traverse_left" }, "name": "traverse_left" }, "right": { "type": "BooleanLiteral", "start": 8780, "end": 8785, "loc": { "start": { "line": 290, "column": 20 }, "end": { "line": 290, "column": 25 } }, "value": false } } }, { "type": "VariableDeclaration", "start": 8792, "end": 8850, "loc": { "start": { "line": 292, "column": 4 }, "end": { "line": 292, "column": 62 } }, "declarations": [ { "type": "VariableDeclarator", "start": 8796, "end": 8849, "loc": { "start": { "line": 292, "column": 8 }, "end": { "line": 292, "column": 61 } }, "id": { "type": "Identifier", "start": 8796, "end": 8800, "loc": { "start": { "line": 292, "column": 8 }, "end": { "line": 292, "column": 12 }, "identifierName": "left" }, "name": "left" }, "init": { "type": "ConditionalExpression", "start": 8803, "end": 8849, "loc": { "start": { "line": 292, "column": 15 }, "end": { "line": 292, "column": 61 } }, "test": { "type": "MemberExpression", "start": 8803, "end": 8822, "loc": { "start": { "line": 292, "column": 15 }, "end": { "line": 292, "column": 34 } }, "object": { "type": "Identifier", "start": 8803, "end": 8810, "loc": { "start": { "line": 292, "column": 15 }, "end": { "line": 292, "column": 22 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 8811, "end": 8822, "loc": { "start": { "line": 292, "column": 23 }, "end": { "line": 292, "column": 34 }, "identifierName": "_bvh_branch" }, "name": "_bvh_branch" }, "computed": false }, "consequent": { "type": "MemberExpression", "start": 8825, "end": 8842, "loc": { "start": { "line": 292, "column": 37 }, "end": { "line": 292, "column": 54 } }, "object": { "type": "Identifier", "start": 8825, "end": 8832, "loc": { "start": { "line": 292, "column": 37 }, "end": { "line": 292, "column": 44 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 8833, "end": 8842, "loc": { "start": { "line": 292, "column": 45 }, "end": { "line": 292, "column": 54 }, "identifierName": "_bvh_left" }, "name": "_bvh_left" }, "computed": false }, "alternate": { "type": "NullLiteral", "start": 8845, "end": 8849, "loc": { "start": { "line": 292, "column": 57 }, "end": { "line": 292, "column": 61 } } } } } ], "kind": "let" }, { "type": "WhileStatement", "start": 8856, "end": 9102, "loc": { "start": { "line": 294, "column": 4 }, "end": { "line": 303, "column": 5 } }, "test": { "type": "LogicalExpression", "start": 8868, "end": 9004, "loc": { "start": { "line": 295, "column": 5 }, "end": { "line": 299, "column": 29 } }, "left": { "type": "LogicalExpression", "start": 8868, "end": 8971, "loc": { "start": { "line": 295, "column": 5 }, "end": { "line": 298, "column": 29 } }, "left": { "type": "LogicalExpression", "start": 8868, "end": 8938, "loc": { "start": { "line": 295, "column": 5 }, "end": { "line": 297, "column": 29 } }, "left": { "type": "LogicalExpression", "start": 8868, "end": 8905, "loc": { "start": { "line": 295, "column": 5 }, "end": { "line": 296, "column": 29 } }, "left": { "type": "Identifier", "start": 8868, "end": 8872, "loc": { "start": { "line": 295, "column": 5 }, "end": { "line": 295, "column": 9 }, "identifierName": "left" }, "name": "left" }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 8881, "end": 8905, "loc": { "start": { "line": 296, "column": 5 }, "end": { "line": 296, "column": 29 } }, "left": { "type": "MemberExpression", "start": 8881, "end": 8896, "loc": { "start": { "line": 296, "column": 5 }, "end": { "line": 296, "column": 20 } }, "object": { "type": "Identifier", "start": 8881, "end": 8885, "loc": { "start": { "line": 296, "column": 5 }, "end": { "line": 296, "column": 9 }, "identifierName": "left" }, "name": "left" }, "property": { "type": "Identifier", "start": 8886, "end": 8896, "loc": { "start": { "line": 296, "column": 10 }, "end": { "line": 296, "column": 20 }, "identifierName": "_bvh_max_x" }, "name": "_bvh_max_x" }, "computed": false }, "operator": ">=", "right": { "type": "Identifier", "start": 8900, "end": 8905, "loc": { "start": { "line": 296, "column": 24 }, "end": { "line": 296, "column": 29 }, "identifierName": "min_x" }, "name": "min_x" } } }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 8914, "end": 8938, "loc": { "start": { "line": 297, "column": 5 }, "end": { "line": 297, "column": 29 } }, "left": { "type": "MemberExpression", "start": 8914, "end": 8929, "loc": { "start": { "line": 297, "column": 5 }, "end": { "line": 297, "column": 20 } }, "object": { "type": "Identifier", "start": 8914, "end": 8918, "loc": { "start": { "line": 297, "column": 5 }, "end": { "line": 297, "column": 9 }, "identifierName": "left" }, "name": "left" }, "property": { "type": "Identifier", "start": 8919, "end": 8929, "loc": { "start": { "line": 297, "column": 10 }, "end": { "line": 297, "column": 20 }, "identifierName": "_bvh_max_y" }, "name": "_bvh_max_y" }, "computed": false }, "operator": ">=", "right": { "type": "Identifier", "start": 8933, "end": 8938, "loc": { "start": { "line": 297, "column": 24 }, "end": { "line": 297, "column": 29 }, "identifierName": "min_y" }, "name": "min_y" } } }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 8947, "end": 8971, "loc": { "start": { "line": 298, "column": 5 }, "end": { "line": 298, "column": 29 } }, "left": { "type": "MemberExpression", "start": 8947, "end": 8962, "loc": { "start": { "line": 298, "column": 5 }, "end": { "line": 298, "column": 20 } }, "object": { "type": "Identifier", "start": 8947, "end": 8951, "loc": { "start": { "line": 298, "column": 5 }, "end": { "line": 298, "column": 9 }, "identifierName": "left" }, "name": "left" }, "property": { "type": "Identifier", "start": 8952, "end": 8962, "loc": { "start": { "line": 298, "column": 10 }, "end": { "line": 298, "column": 20 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false }, "operator": "<=", "right": { "type": "Identifier", "start": 8966, "end": 8971, "loc": { "start": { "line": 298, "column": 24 }, "end": { "line": 298, "column": 29 }, "identifierName": "max_x" }, "name": "max_x" } } }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 8980, "end": 9004, "loc": { "start": { "line": 299, "column": 5 }, "end": { "line": 299, "column": 29 } }, "left": { "type": "MemberExpression", "start": 8980, "end": 8995, "loc": { "start": { "line": 299, "column": 5 }, "end": { "line": 299, "column": 20 } }, "object": { "type": "Identifier", "start": 8980, "end": 8984, "loc": { "start": { "line": 299, "column": 5 }, "end": { "line": 299, "column": 9 }, "identifierName": "left" }, "name": "left" }, "property": { "type": "Identifier", "start": 8985, "end": 8995, "loc": { "start": { "line": 299, "column": 10 }, "end": { "line": 299, "column": 20 }, "identifierName": "_bvh_min_y" }, "name": "_bvh_min_y" }, "computed": false }, "operator": "<=", "right": { "type": "Identifier", "start": 8999, "end": 9004, "loc": { "start": { "line": 299, "column": 24 }, "end": { "line": 299, "column": 29 }, "identifierName": "max_y" }, "name": "max_y" } } }, "body": { "type": "BlockStatement", "start": 9011, "end": 9102, "loc": { "start": { "line": 300, "column": 6 }, "end": { "line": 303, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 9018, "end": 9033, "loc": { "start": { "line": 301, "column": 5 }, "end": { "line": 301, "column": 20 } }, "expression": { "type": "AssignmentExpression", "start": 9018, "end": 9032, "loc": { "start": { "line": 301, "column": 5 }, "end": { "line": 301, "column": 19 } }, "operator": "=", "left": { "type": "Identifier", "start": 9018, "end": 9025, "loc": { "start": { "line": 301, "column": 5 }, "end": { "line": 301, "column": 12 }, "identifierName": "current" }, "name": "current" }, "right": { "type": "Identifier", "start": 9028, "end": 9032, "loc": { "start": { "line": 301, "column": 15 }, "end": { "line": 301, "column": 19 }, "identifierName": "left" }, "name": "left" } } }, { "type": "ExpressionStatement", "start": 9039, "end": 9096, "loc": { "start": { "line": 302, "column": 5 }, "end": { "line": 302, "column": 62 } }, "expression": { "type": "AssignmentExpression", "start": 9039, "end": 9095, "loc": { "start": { "line": 302, "column": 5 }, "end": { "line": 302, "column": 61 } }, "operator": "=", "left": { "type": "Identifier", "start": 9039, "end": 9043, "loc": { "start": { "line": 302, "column": 5 }, "end": { "line": 302, "column": 9 }, "identifierName": "left" }, "name": "left" }, "right": { "type": "ConditionalExpression", "start": 9049, "end": 9095, "loc": { "start": { "line": 302, "column": 15 }, "end": { "line": 302, "column": 61 } }, "test": { "type": "MemberExpression", "start": 9049, "end": 9068, "loc": { "start": { "line": 302, "column": 15 }, "end": { "line": 302, "column": 34 } }, "object": { "type": "Identifier", "start": 9049, "end": 9056, "loc": { "start": { "line": 302, "column": 15 }, "end": { "line": 302, "column": 22 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 9057, "end": 9068, "loc": { "start": { "line": 302, "column": 23 }, "end": { "line": 302, "column": 34 }, "identifierName": "_bvh_branch" }, "name": "_bvh_branch" }, "computed": false }, "consequent": { "type": "MemberExpression", "start": 9071, "end": 9088, "loc": { "start": { "line": 302, "column": 37 }, "end": { "line": 302, "column": 54 } }, "object": { "type": "Identifier", "start": 9071, "end": 9078, "loc": { "start": { "line": 302, "column": 37 }, "end": { "line": 302, "column": 44 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 9079, "end": 9088, "loc": { "start": { "line": 302, "column": 45 }, "end": { "line": 302, "column": 54 }, "identifierName": "_bvh_left" }, "name": "_bvh_left" }, "computed": false }, "alternate": { "type": "NullLiteral", "start": 9091, "end": 9095, "loc": { "start": { "line": 302, "column": 57 }, "end": { "line": 302, "column": 61 } } } } } } ], "directives": [] } } ], "directives": [] }, "alternate": null }, { "type": "VariableDeclaration", "start": 9112, "end": 9147, "loc": { "start": { "line": 306, "column": 3 }, "end": { "line": 306, "column": 38 } }, "declarations": [ { "type": "VariableDeclarator", "start": 9118, "end": 9146, "loc": { "start": { "line": 306, "column": 9 }, "end": { "line": 306, "column": 37 } }, "id": { "type": "Identifier", "start": 9118, "end": 9124, "loc": { "start": { "line": 306, "column": 9 }, "end": { "line": 306, "column": 15 }, "identifierName": "branch" }, "name": "branch" }, "init": { "type": "MemberExpression", "start": 9127, "end": 9146, "loc": { "start": { "line": 306, "column": 18 }, "end": { "line": 306, "column": 37 } }, "object": { "type": "Identifier", "start": 9127, "end": 9134, "loc": { "start": { "line": 306, "column": 18 }, "end": { "line": 306, "column": 25 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 9135, "end": 9146, "loc": { "start": { "line": 306, "column": 26 }, "end": { "line": 306, "column": 37 }, "identifierName": "_bvh_branch" }, "name": "_bvh_branch" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 9151, "end": 9201, "loc": { "start": { "line": 307, "column": 3 }, "end": { "line": 307, "column": 53 } }, "declarations": [ { "type": "VariableDeclarator", "start": 9157, "end": 9200, "loc": { "start": { "line": 307, "column": 9 }, "end": { "line": 307, "column": 52 } }, "id": { "type": "Identifier", "start": 9157, "end": 9162, "loc": { "start": { "line": 307, "column": 9 }, "end": { "line": 307, "column": 14 }, "identifierName": "right" }, "name": "right" }, "init": { "type": "ConditionalExpression", "start": 9166, "end": 9200, "loc": { "start": { "line": 307, "column": 18 }, "end": { "line": 307, "column": 52 } }, "test": { "type": "Identifier", "start": 9166, "end": 9172, "loc": { "start": { "line": 307, "column": 18 }, "end": { "line": 307, "column": 24 }, "identifierName": "branch" }, "name": "branch" }, "consequent": { "type": "MemberExpression", "start": 9175, "end": 9193, "loc": { "start": { "line": 307, "column": 27 }, "end": { "line": 307, "column": 45 } }, "object": { "type": "Identifier", "start": 9175, "end": 9182, "loc": { "start": { "line": 307, "column": 27 }, "end": { "line": 307, "column": 34 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 9183, "end": 9193, "loc": { "start": { "line": 307, "column": 35 }, "end": { "line": 307, "column": 45 }, "identifierName": "_bvh_right" }, "name": "_bvh_right" }, "computed": false }, "alternate": { "type": "NullLiteral", "start": 9196, "end": 9200, "loc": { "start": { "line": 307, "column": 48 }, "end": { "line": 307, "column": 52 } } } } } ], "kind": "const" }, { "type": "IfStatement", "start": 9206, "end": 9737, "loc": { "start": { "line": 309, "column": 3 }, "end": { "line": 337, "column": 4 } }, "test": { "type": "LogicalExpression", "start": 9214, "end": 9347, "loc": { "start": { "line": 310, "column": 4 }, "end": { "line": 314, "column": 28 } }, "left": { "type": "LogicalExpression", "start": 9214, "end": 9315, "loc": { "start": { "line": 310, "column": 4 }, "end": { "line": 313, "column": 28 } }, "left": { "type": "LogicalExpression", "start": 9214, "end": 9283, "loc": { "start": { "line": 310, "column": 4 }, "end": { "line": 312, "column": 28 } }, "left": { "type": "LogicalExpression", "start": 9214, "end": 9251, "loc": { "start": { "line": 310, "column": 4 }, "end": { "line": 311, "column": 28 } }, "left": { "type": "Identifier", "start": 9214, "end": 9219, "loc": { "start": { "line": 310, "column": 4 }, "end": { "line": 310, "column": 9 }, "identifierName": "right" }, "name": "right" }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 9227, "end": 9251, "loc": { "start": { "line": 311, "column": 4 }, "end": { "line": 311, "column": 28 } }, "left": { "type": "MemberExpression", "start": 9227, "end": 9243, "loc": { "start": { "line": 311, "column": 4 }, "end": { "line": 311, "column": 20 } }, "object": { "type": "Identifier", "start": 9227, "end": 9232, "loc": { "start": { "line": 311, "column": 4 }, "end": { "line": 311, "column": 9 }, "identifierName": "right" }, "name": "right" }, "property": { "type": "Identifier", "start": 9233, "end": 9243, "loc": { "start": { "line": 311, "column": 10 }, "end": { "line": 311, "column": 20 }, "identifierName": "_bvh_max_x" }, "name": "_bvh_max_x" }, "computed": false }, "operator": ">", "right": { "type": "Identifier", "start": 9246, "end": 9251, "loc": { "start": { "line": 311, "column": 23 }, "end": { "line": 311, "column": 28 }, "identifierName": "min_x" }, "name": "min_x" } } }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 9259, "end": 9283, "loc": { "start": { "line": 312, "column": 4 }, "end": { "line": 312, "column": 28 } }, "left": { "type": "MemberExpression", "start": 9259, "end": 9275, "loc": { "start": { "line": 312, "column": 4 }, "end": { "line": 312, "column": 20 } }, "object": { "type": "Identifier", "start": 9259, "end": 9264, "loc": { "start": { "line": 312, "column": 4 }, "end": { "line": 312, "column": 9 }, "identifierName": "right" }, "name": "right" }, "property": { "type": "Identifier", "start": 9265, "end": 9275, "loc": { "start": { "line": 312, "column": 10 }, "end": { "line": 312, "column": 20 }, "identifierName": "_bvh_max_y" }, "name": "_bvh_max_y" }, "computed": false }, "operator": ">", "right": { "type": "Identifier", "start": 9278, "end": 9283, "loc": { "start": { "line": 312, "column": 23 }, "end": { "line": 312, "column": 28 }, "identifierName": "min_y" }, "name": "min_y" } } }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 9291, "end": 9315, "loc": { "start": { "line": 313, "column": 4 }, "end": { "line": 313, "column": 28 } }, "left": { "type": "MemberExpression", "start": 9291, "end": 9307, "loc": { "start": { "line": 313, "column": 4 }, "end": { "line": 313, "column": 20 } }, "object": { "type": "Identifier", "start": 9291, "end": 9296, "loc": { "start": { "line": 313, "column": 4 }, "end": { "line": 313, "column": 9 }, "identifierName": "right" }, "name": "right" }, "property": { "type": "Identifier", "start": 9297, "end": 9307, "loc": { "start": { "line": 313, "column": 10 }, "end": { "line": 313, "column": 20 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false }, "operator": "<", "right": { "type": "Identifier", "start": 9310, "end": 9315, "loc": { "start": { "line": 313, "column": 23 }, "end": { "line": 313, "column": 28 }, "identifierName": "max_x" }, "name": "max_x" } } }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 9323, "end": 9347, "loc": { "start": { "line": 314, "column": 4 }, "end": { "line": 314, "column": 28 } }, "left": { "type": "MemberExpression", "start": 9323, "end": 9339, "loc": { "start": { "line": 314, "column": 4 }, "end": { "line": 314, "column": 20 } }, "object": { "type": "Identifier", "start": 9323, "end": 9328, "loc": { "start": { "line": 314, "column": 4 }, "end": { "line": 314, "column": 9 }, "identifierName": "right" }, "name": "right" }, "property": { "type": "Identifier", "start": 9329, "end": 9339, "loc": { "start": { "line": 314, "column": 10 }, "end": { "line": 314, "column": 20 }, "identifierName": "_bvh_min_y" }, "name": "_bvh_min_y" }, "computed": false }, "operator": "<", "right": { "type": "Identifier", "start": 9342, "end": 9347, "loc": { "start": { "line": 314, "column": 23 }, "end": { "line": 314, "column": 28 }, "identifierName": "max_y" }, "name": "max_y" } } }, "consequent": { "type": "BlockStatement", "start": 9353, "end": 9412, "loc": { "start": { "line": 315, "column": 5 }, "end": { "line": 318, "column": 4 } }, "body": [ { "type": "ExpressionStatement", "start": 9359, "end": 9381, "loc": { "start": { "line": 316, "column": 4 }, "end": { "line": 316, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 9359, "end": 9380, "loc": { "start": { "line": 316, "column": 4 }, "end": { "line": 316, "column": 25 } }, "operator": "=", "left": { "type": "Identifier", "start": 9359, "end": 9366, "loc": { "start": { "line": 316, "column": 4 }, "end": { "line": 316, "column": 11 }, "identifierName": "current" }, "name": "current" }, "right": { "type": "Identifier", "start": 9375, "end": 9380, "loc": { "start": { "line": 316, "column": 20 }, "end": { "line": 316, "column": 25 }, "identifierName": "right" }, "name": "right" } } }, { "type": "ExpressionStatement", "start": 9386, "end": 9407, "loc": { "start": { "line": 317, "column": 4 }, "end": { "line": 317, "column": 25 } }, "expression": { "type": "AssignmentExpression", "start": 9386, "end": 9406, "loc": { "start": { "line": 317, "column": 4 }, "end": { "line": 317, "column": 24 } }, "operator": "=", "left": { "type": "Identifier", "start": 9386, "end": 9399, "loc": { "start": { "line": 317, "column": 4 }, "end": { "line": 317, "column": 17 }, "identifierName": "traverse_left" }, "name": "traverse_left" }, "right": { "type": "BooleanLiteral", "start": 9402, "end": 9406, "loc": { "start": { "line": 317, "column": 20 }, "end": { "line": 317, "column": 24 } }, "value": true } } } ], "directives": [] }, "alternate": { "type": "BlockStatement", "start": 9421, "end": 9737, "loc": { "start": { "line": 319, "column": 8 }, "end": { "line": 337, "column": 4 } }, "body": [ { "type": "IfStatement", "start": 9427, "end": 9494, "loc": { "start": { "line": 320, "column": 4 }, "end": { "line": 322, "column": 5 } }, "test": { "type": "LogicalExpression", "start": 9430, "end": 9457, "loc": { "start": { "line": 320, "column": 7 }, "end": { "line": 320, "column": 34 } }, "left": { "type": "UnaryExpression", "start": 9430, "end": 9437, "loc": { "start": { "line": 320, "column": 7 }, "end": { "line": 320, "column": 14 } }, "operator": "!", "prefix": true, "argument": { "type": "Identifier", "start": 9431, "end": 9437, "loc": { "start": { "line": 320, "column": 8 }, "end": { "line": 320, "column": 14 }, "identifierName": "branch" }, "name": "branch" }, "extra": { "parenthesizedArgument": false } }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 9441, "end": 9457, "loc": { "start": { "line": 320, "column": 18 }, "end": { "line": 320, "column": 34 } }, "left": { "type": "Identifier", "start": 9441, "end": 9448, "loc": { "start": { "line": 320, "column": 18 }, "end": { "line": 320, "column": 25 }, "identifierName": "current" }, "name": "current" }, "operator": "!==", "right": { "type": "Identifier", "start": 9453, "end": 9457, "loc": { "start": { "line": 320, "column": 30 }, "end": { "line": 320, "column": 34 }, "identifierName": "body" }, "name": "body" } } }, "consequent": { "type": "BlockStatement", "start": 9459, "end": 9494, "loc": { "start": { "line": 320, "column": 36 }, "end": { "line": 322, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 9466, "end": 9488, "loc": { "start": { "line": 321, "column": 5 }, "end": { "line": 321, "column": 27 } }, "expression": { "type": "CallExpression", "start": 9466, "end": 9487, "loc": { "start": { "line": 321, "column": 5 }, "end": { "line": 321, "column": 26 } }, "callee": { "type": "MemberExpression", "start": 9466, "end": 9478, "loc": { "start": { "line": 321, "column": 5 }, "end": { "line": 321, "column": 17 } }, "object": { "type": "Identifier", "start": 9466, "end": 9473, "loc": { "start": { "line": 321, "column": 5 }, "end": { "line": 321, "column": 12 }, "identifierName": "results" }, "name": "results" }, "property": { "type": "Identifier", "start": 9474, "end": 9478, "loc": { "start": { "line": 321, "column": 13 }, "end": { "line": 321, "column": 17 }, "identifierName": "push" }, "name": "push" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 9479, "end": 9486, "loc": { "start": { "line": 321, "column": 18 }, "end": { "line": 321, "column": 25 }, "identifierName": "current" }, "name": "current" } ] } } ], "directives": [] }, "alternate": null }, { "type": "VariableDeclaration", "start": 9500, "end": 9533, "loc": { "start": { "line": 324, "column": 4 }, "end": { "line": 324, "column": 37 } }, "declarations": [ { "type": "VariableDeclarator", "start": 9504, "end": 9532, "loc": { "start": { "line": 324, "column": 8 }, "end": { "line": 324, "column": 36 } }, "id": { "type": "Identifier", "start": 9504, "end": 9510, "loc": { "start": { "line": 324, "column": 8 }, "end": { "line": 324, "column": 14 }, "identifierName": "parent" }, "name": "parent" }, "init": { "type": "MemberExpression", "start": 9513, "end": 9532, "loc": { "start": { "line": 324, "column": 17 }, "end": { "line": 324, "column": 36 } }, "object": { "type": "Identifier", "start": 9513, "end": 9520, "loc": { "start": { "line": 324, "column": 17 }, "end": { "line": 324, "column": 24 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 9521, "end": 9532, "loc": { "start": { "line": 324, "column": 25 }, "end": { "line": 324, "column": 36 }, "identifierName": "_bvh_parent" }, "name": "_bvh_parent" }, "computed": false } } ], "kind": "let" }, { "type": "IfStatement", "start": 9539, "end": 9732, "loc": { "start": { "line": 326, "column": 4 }, "end": { "line": 336, "column": 5 } }, "test": { "type": "Identifier", "start": 9542, "end": 9548, "loc": { "start": { "line": 326, "column": 7 }, "end": { "line": 326, "column": 13 }, "identifierName": "parent" }, "name": "parent" }, "consequent": { "type": "BlockStatement", "start": 9550, "end": 9703, "loc": { "start": { "line": 326, "column": 15 }, "end": { "line": 333, "column": 5 } }, "body": [ { "type": "WhileStatement", "start": 9557, "end": 9673, "loc": { "start": { "line": 327, "column": 5 }, "end": { "line": 330, "column": 6 } }, "test": { "type": "LogicalExpression", "start": 9563, "end": 9602, "loc": { "start": { "line": 327, "column": 11 }, "end": { "line": 327, "column": 50 } }, "left": { "type": "Identifier", "start": 9563, "end": 9569, "loc": { "start": { "line": 327, "column": 11 }, "end": { "line": 327, "column": 17 }, "identifierName": "parent" }, "name": "parent" }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 9573, "end": 9602, "loc": { "start": { "line": 327, "column": 21 }, "end": { "line": 327, "column": 50 } }, "left": { "type": "MemberExpression", "start": 9573, "end": 9590, "loc": { "start": { "line": 327, "column": 21 }, "end": { "line": 327, "column": 38 } }, "object": { "type": "Identifier", "start": 9573, "end": 9579, "loc": { "start": { "line": 327, "column": 21 }, "end": { "line": 327, "column": 27 }, "identifierName": "parent" }, "name": "parent" }, "property": { "type": "Identifier", "start": 9580, "end": 9590, "loc": { "start": { "line": 327, "column": 28 }, "end": { "line": 327, "column": 38 }, "identifierName": "_bvh_right" }, "name": "_bvh_right" }, "computed": false }, "operator": "===", "right": { "type": "Identifier", "start": 9595, "end": 9602, "loc": { "start": { "line": 327, "column": 43 }, "end": { "line": 327, "column": 50 }, "identifierName": "current" }, "name": "current" } } }, "body": { "type": "BlockStatement", "start": 9604, "end": 9673, "loc": { "start": { "line": 327, "column": 52 }, "end": { "line": 330, "column": 6 } }, "body": [ { "type": "ExpressionStatement", "start": 9612, "end": 9629, "loc": { "start": { "line": 328, "column": 6 }, "end": { "line": 328, "column": 23 } }, "expression": { "type": "AssignmentExpression", "start": 9612, "end": 9628, "loc": { "start": { "line": 328, "column": 6 }, "end": { "line": 328, "column": 22 } }, "operator": "=", "left": { "type": "Identifier", "start": 9612, "end": 9619, "loc": { "start": { "line": 328, "column": 6 }, "end": { "line": 328, "column": 13 }, "identifierName": "current" }, "name": "current" }, "right": { "type": "Identifier", "start": 9622, "end": 9628, "loc": { "start": { "line": 328, "column": 16 }, "end": { "line": 328, "column": 22 }, "identifierName": "parent" }, "name": "parent" } } }, { "type": "ExpressionStatement", "start": 9636, "end": 9666, "loc": { "start": { "line": 329, "column": 6 }, "end": { "line": 329, "column": 36 } }, "expression": { "type": "AssignmentExpression", "start": 9636, "end": 9665, "loc": { "start": { "line": 329, "column": 6 }, "end": { "line": 329, "column": 35 } }, "operator": "=", "left": { "type": "Identifier", "start": 9636, "end": 9642, "loc": { "start": { "line": 329, "column": 6 }, "end": { "line": 329, "column": 12 }, "identifierName": "parent" }, "name": "parent" }, "right": { "type": "MemberExpression", "start": 9646, "end": 9665, "loc": { "start": { "line": 329, "column": 16 }, "end": { "line": 329, "column": 35 } }, "object": { "type": "Identifier", "start": 9646, "end": 9653, "loc": { "start": { "line": 329, "column": 16 }, "end": { "line": 329, "column": 23 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 9654, "end": 9665, "loc": { "start": { "line": 329, "column": 24 }, "end": { "line": 329, "column": 35 }, "identifierName": "_bvh_parent" }, "name": "_bvh_parent" }, "computed": false } } } ], "directives": [] } }, { "type": "ExpressionStatement", "start": 9680, "end": 9697, "loc": { "start": { "line": 332, "column": 5 }, "end": { "line": 332, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 9680, "end": 9696, "loc": { "start": { "line": 332, "column": 5 }, "end": { "line": 332, "column": 21 } }, "operator": "=", "left": { "type": "Identifier", "start": 9680, "end": 9687, "loc": { "start": { "line": 332, "column": 5 }, "end": { "line": 332, "column": 12 }, "identifierName": "current" }, "name": "current" }, "right": { "type": "Identifier", "start": 9690, "end": 9696, "loc": { "start": { "line": 332, "column": 15 }, "end": { "line": 332, "column": 21 }, "identifierName": "parent" }, "name": "parent" } } } ], "directives": [] }, "alternate": { "type": "BlockStatement", "start": 9713, "end": 9732, "loc": { "start": { "line": 334, "column": 9 }, "end": { "line": 336, "column": 5 } }, "body": [ { "type": "BreakStatement", "start": 9720, "end": 9726, "loc": { "start": { "line": 335, "column": 5 }, "end": { "line": 335, "column": 11 } }, "label": null } ], "directives": [] } } ], "directives": [] } } ], "directives": [] } }, { "type": "ReturnStatement", "start": 9745, "end": 9760, "loc": { "start": { "line": 340, "column": 2 }, "end": { "line": 340, "column": 17 } }, "argument": { "type": "Identifier", "start": 9752, "end": 9759, "loc": { "start": { "line": 340, "column": 9 }, "end": { "line": 340, "column": 16 }, "identifierName": "results" }, "name": "results" } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test\n\t * @returns {Array}\n\t ", "start": 8256, "end": 8401, "loc": { "start": { "line": 269, "column": 1 }, "end": { "line": 273, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Draws the bodies within the BVH to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 9766, "end": 9924, "loc": { "start": { "line": 343, "column": 1 }, "end": { "line": 346, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 9926, "end": 10075, "loc": { "start": { "line": 347, "column": 1 }, "end": { "line": 354, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 9926, "end": 9930, "loc": { "start": { "line": 347, "column": 1 }, "end": { "line": 347, "column": 5 }, "identifierName": "draw" }, "name": "draw", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 9931, "end": 9938, "loc": { "start": { "line": 347, "column": 6 }, "end": { "line": 347, "column": 13 }, "identifierName": "context" }, "name": "context" } ], "body": { "type": "BlockStatement", "start": 9940, "end": 10075, "loc": { "start": { "line": 347, "column": 15 }, "end": { "line": 354, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 9944, "end": 9972, "loc": { "start": { "line": 348, "column": 2 }, "end": { "line": 348, "column": 30 } }, "declarations": [ { "type": "VariableDeclarator", "start": 9950, "end": 9971, "loc": { "start": { "line": 348, "column": 8 }, "end": { "line": 348, "column": 29 } }, "id": { "type": "Identifier", "start": 9950, "end": 9956, "loc": { "start": { "line": 348, "column": 8 }, "end": { "line": 348, "column": 14 }, "identifierName": "bodies" }, "name": "bodies" }, "init": { "type": "MemberExpression", "start": 9959, "end": 9971, "loc": { "start": { "line": 348, "column": 17 }, "end": { "line": 348, "column": 29 } }, "object": { "type": "ThisExpression", "start": 9959, "end": 9963, "loc": { "start": { "line": 348, "column": 17 }, "end": { "line": 348, "column": 21 } } }, "property": { "type": "Identifier", "start": 9964, "end": 9971, "loc": { "start": { "line": 348, "column": 22 }, "end": { "line": 348, "column": 29 }, "identifierName": "_bodies" }, "name": "_bodies" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 9975, "end": 10004, "loc": { "start": { "line": 349, "column": 2 }, "end": { "line": 349, "column": 31 } }, "declarations": [ { "type": "VariableDeclarator", "start": 9981, "end": 10003, "loc": { "start": { "line": 349, "column": 8 }, "end": { "line": 349, "column": 30 } }, "id": { "type": "Identifier", "start": 9981, "end": 9986, "loc": { "start": { "line": 349, "column": 8 }, "end": { "line": 349, "column": 13 }, "identifierName": "count" }, "name": "count" }, "init": { "type": "MemberExpression", "start": 9990, "end": 10003, "loc": { "start": { "line": 349, "column": 17 }, "end": { "line": 349, "column": 30 } }, "object": { "type": "Identifier", "start": 9990, "end": 9996, "loc": { "start": { "line": 349, "column": 17 }, "end": { "line": 349, "column": 23 }, "identifierName": "bodies" }, "name": "bodies" }, "property": { "type": "Identifier", "start": 9997, "end": 10003, "loc": { "start": { "line": 349, "column": 24 }, "end": { "line": 349, "column": 30 }, "identifierName": "length" }, "name": "length" }, "computed": false } } ], "kind": "const" }, { "type": "ForStatement", "start": 10008, "end": 10072, "loc": { "start": { "line": 351, "column": 2 }, "end": { "line": 353, "column": 3 } }, "init": { "type": "VariableDeclaration", "start": 10012, "end": 10021, "loc": { "start": { "line": 351, "column": 6 }, "end": { "line": 351, "column": 15 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10016, "end": 10021, "loc": { "start": { "line": 351, "column": 10 }, "end": { "line": 351, "column": 15 } }, "id": { "type": "Identifier", "start": 10016, "end": 10017, "loc": { "start": { "line": 351, "column": 10 }, "end": { "line": 351, "column": 11 }, "identifierName": "i" }, "name": "i" }, "init": { "type": "NumericLiteral", "start": 10020, "end": 10021, "loc": { "start": { "line": 351, "column": 14 }, "end": { "line": 351, "column": 15 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "kind": "let" }, "test": { "type": "BinaryExpression", "start": 10023, "end": 10032, "loc": { "start": { "line": 351, "column": 17 }, "end": { "line": 351, "column": 26 } }, "left": { "type": "Identifier", "start": 10023, "end": 10024, "loc": { "start": { "line": 351, "column": 17 }, "end": { "line": 351, "column": 18 }, "identifierName": "i" }, "name": "i" }, "operator": "<", "right": { "type": "Identifier", "start": 10027, "end": 10032, "loc": { "start": { "line": 351, "column": 21 }, "end": { "line": 351, "column": 26 }, "identifierName": "count" }, "name": "count" } }, "update": { "type": "UpdateExpression", "start": 10034, "end": 10037, "loc": { "start": { "line": 351, "column": 28 }, "end": { "line": 351, "column": 31 } }, "operator": "++", "prefix": true, "argument": { "type": "Identifier", "start": 10036, "end": 10037, "loc": { "start": { "line": 351, "column": 30 }, "end": { "line": 351, "column": 31 }, "identifierName": "i" }, "name": "i" }, "extra": { "parenthesizedArgument": false } }, "body": { "type": "BlockStatement", "start": 10039, "end": 10072, "loc": { "start": { "line": 351, "column": 33 }, "end": { "line": 353, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 10044, "end": 10068, "loc": { "start": { "line": 352, "column": 3 }, "end": { "line": 352, "column": 27 } }, "expression": { "type": "CallExpression", "start": 10044, "end": 10067, "loc": { "start": { "line": 352, "column": 3 }, "end": { "line": 352, "column": 26 } }, "callee": { "type": "MemberExpression", "start": 10044, "end": 10058, "loc": { "start": { "line": 352, "column": 3 }, "end": { "line": 352, "column": 17 } }, "object": { "type": "MemberExpression", "start": 10044, "end": 10053, "loc": { "start": { "line": 352, "column": 3 }, "end": { "line": 352, "column": 12 } }, "object": { "type": "Identifier", "start": 10044, "end": 10050, "loc": { "start": { "line": 352, "column": 3 }, "end": { "line": 352, "column": 9 }, "identifierName": "bodies" }, "name": "bodies" }, "property": { "type": "Identifier", "start": 10051, "end": 10052, "loc": { "start": { "line": 352, "column": 10 }, "end": { "line": 352, "column": 11 }, "identifierName": "i" }, "name": "i" }, "computed": true }, "property": { "type": "Identifier", "start": 10054, "end": 10058, "loc": { "start": { "line": 352, "column": 13 }, "end": { "line": 352, "column": 17 }, "identifierName": "draw" }, "name": "draw" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 10059, "end": 10066, "loc": { "start": { "line": 352, "column": 18 }, "end": { "line": 352, "column": 25 }, "identifierName": "context" }, "name": "context" } ] } } ], "directives": [] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Draws the bodies within the BVH to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 9766, "end": 9924, "loc": { "start": { "line": 343, "column": 1 }, "end": { "line": 346, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Draws the BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 10078, "end": 10287, "loc": { "start": { "line": 356, "column": 1 }, "end": { "line": 359, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 10289, "end": 11367, "loc": { "start": { "line": 360, "column": 1 }, "end": { "line": 409, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 10289, "end": 10296, "loc": { "start": { "line": 360, "column": 1 }, "end": { "line": 360, "column": 8 }, "identifierName": "drawBVH" }, "name": "drawBVH", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 10297, "end": 10304, "loc": { "start": { "line": 360, "column": 9 }, "end": { "line": 360, "column": 16 }, "identifierName": "context" }, "name": "context" } ], "body": { "type": "BlockStatement", "start": 10306, "end": 11367, "loc": { "start": { "line": 360, "column": 18 }, "end": { "line": 409, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 10310, "end": 10346, "loc": { "start": { "line": 361, "column": 2 }, "end": { "line": 361, "column": 38 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10314, "end": 10345, "loc": { "start": { "line": 361, "column": 6 }, "end": { "line": 361, "column": 37 } }, "id": { "type": "Identifier", "start": 10314, "end": 10321, "loc": { "start": { "line": 361, "column": 6 }, "end": { "line": 361, "column": 13 }, "identifierName": "current" }, "name": "current" }, "init": { "type": "MemberExpression", "start": 10330, "end": 10345, "loc": { "start": { "line": 361, "column": 22 }, "end": { "line": 361, "column": 37 } }, "object": { "type": "ThisExpression", "start": 10330, "end": 10334, "loc": { "start": { "line": 361, "column": 22 }, "end": { "line": 361, "column": 26 } } }, "property": { "type": "Identifier", "start": 10335, "end": 10345, "loc": { "start": { "line": 361, "column": 27 }, "end": { "line": 361, "column": 37 }, "identifierName": "_hierarchy" }, "name": "_hierarchy" }, "computed": false } } ], "kind": "let" }, { "type": "VariableDeclaration", "start": 10349, "end": 10374, "loc": { "start": { "line": 362, "column": 2 }, "end": { "line": 362, "column": 27 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10353, "end": 10373, "loc": { "start": { "line": 362, "column": 6 }, "end": { "line": 362, "column": 26 } }, "id": { "type": "Identifier", "start": 10353, "end": 10366, "loc": { "start": { "line": 362, "column": 6 }, "end": { "line": 362, "column": 19 }, "identifierName": "traverse_left" }, "name": "traverse_left" }, "init": { "type": "BooleanLiteral", "start": 10369, "end": 10373, "loc": { "start": { "line": 362, "column": 22 }, "end": { "line": 362, "column": 26 } }, "value": true } } ], "kind": "let" }, { "type": "WhileStatement", "start": 10378, "end": 11364, "loc": { "start": { "line": 364, "column": 2 }, "end": { "line": 408, "column": 3 } }, "test": { "type": "Identifier", "start": 10384, "end": 10391, "loc": { "start": { "line": 364, "column": 8 }, "end": { "line": 364, "column": 15 }, "identifierName": "current" }, "name": "current" }, "body": { "type": "BlockStatement", "start": 10393, "end": 11364, "loc": { "start": { "line": 364, "column": 17 }, "end": { "line": 408, "column": 3 } }, "body": [ { "type": "IfStatement", "start": 10398, "end": 10622, "loc": { "start": { "line": 365, "column": 3 }, "end": { "line": 374, "column": 4 } }, "test": { "type": "Identifier", "start": 10401, "end": 10414, "loc": { "start": { "line": 365, "column": 6 }, "end": { "line": 365, "column": 19 }, "identifierName": "traverse_left" }, "name": "traverse_left" }, "consequent": { "type": "BlockStatement", "start": 10416, "end": 10622, "loc": { "start": { "line": 365, "column": 21 }, "end": { "line": 374, "column": 4 } }, "body": [ { "type": "ExpressionStatement", "start": 10422, "end": 10444, "loc": { "start": { "line": 366, "column": 4 }, "end": { "line": 366, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 10422, "end": 10443, "loc": { "start": { "line": 366, "column": 4 }, "end": { "line": 366, "column": 25 } }, "operator": "=", "left": { "type": "Identifier", "start": 10422, "end": 10435, "loc": { "start": { "line": 366, "column": 4 }, "end": { "line": 366, "column": 17 }, "identifierName": "traverse_left" }, "name": "traverse_left" }, "right": { "type": "BooleanLiteral", "start": 10438, "end": 10443, "loc": { "start": { "line": 366, "column": 20 }, "end": { "line": 366, "column": 25 } }, "value": false } } }, { "type": "VariableDeclaration", "start": 10450, "end": 10508, "loc": { "start": { "line": 368, "column": 4 }, "end": { "line": 368, "column": 62 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10454, "end": 10507, "loc": { "start": { "line": 368, "column": 8 }, "end": { "line": 368, "column": 61 } }, "id": { "type": "Identifier", "start": 10454, "end": 10458, "loc": { "start": { "line": 368, "column": 8 }, "end": { "line": 368, "column": 12 }, "identifierName": "left" }, "name": "left" }, "init": { "type": "ConditionalExpression", "start": 10461, "end": 10507, "loc": { "start": { "line": 368, "column": 15 }, "end": { "line": 368, "column": 61 } }, "test": { "type": "MemberExpression", "start": 10461, "end": 10480, "loc": { "start": { "line": 368, "column": 15 }, "end": { "line": 368, "column": 34 } }, "object": { "type": "Identifier", "start": 10461, "end": 10468, "loc": { "start": { "line": 368, "column": 15 }, "end": { "line": 368, "column": 22 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 10469, "end": 10480, "loc": { "start": { "line": 368, "column": 23 }, "end": { "line": 368, "column": 34 }, "identifierName": "_bvh_branch" }, "name": "_bvh_branch" }, "computed": false }, "consequent": { "type": "MemberExpression", "start": 10483, "end": 10500, "loc": { "start": { "line": 368, "column": 37 }, "end": { "line": 368, "column": 54 } }, "object": { "type": "Identifier", "start": 10483, "end": 10490, "loc": { "start": { "line": 368, "column": 37 }, "end": { "line": 368, "column": 44 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 10491, "end": 10500, "loc": { "start": { "line": 368, "column": 45 }, "end": { "line": 368, "column": 54 }, "identifierName": "_bvh_left" }, "name": "_bvh_left" }, "computed": false }, "alternate": { "type": "NullLiteral", "start": 10503, "end": 10507, "loc": { "start": { "line": 368, "column": 57 }, "end": { "line": 368, "column": 61 } } } } } ], "kind": "let" }, { "type": "WhileStatement", "start": 10514, "end": 10617, "loc": { "start": { "line": 370, "column": 4 }, "end": { "line": 373, "column": 5 } }, "test": { "type": "Identifier", "start": 10520, "end": 10524, "loc": { "start": { "line": 370, "column": 10 }, "end": { "line": 370, "column": 14 }, "identifierName": "left" }, "name": "left" }, "body": { "type": "BlockStatement", "start": 10526, "end": 10617, "loc": { "start": { "line": 370, "column": 16 }, "end": { "line": 373, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 10533, "end": 10548, "loc": { "start": { "line": 371, "column": 5 }, "end": { "line": 371, "column": 20 } }, "expression": { "type": "AssignmentExpression", "start": 10533, "end": 10547, "loc": { "start": { "line": 371, "column": 5 }, "end": { "line": 371, "column": 19 } }, "operator": "=", "left": { "type": "Identifier", "start": 10533, "end": 10540, "loc": { "start": { "line": 371, "column": 5 }, "end": { "line": 371, "column": 12 }, "identifierName": "current" }, "name": "current" }, "right": { "type": "Identifier", "start": 10543, "end": 10547, "loc": { "start": { "line": 371, "column": 15 }, "end": { "line": 371, "column": 19 }, "identifierName": "left" }, "name": "left" } } }, { "type": "ExpressionStatement", "start": 10554, "end": 10611, "loc": { "start": { "line": 372, "column": 5 }, "end": { "line": 372, "column": 62 } }, "expression": { "type": "AssignmentExpression", "start": 10554, "end": 10610, "loc": { "start": { "line": 372, "column": 5 }, "end": { "line": 372, "column": 61 } }, "operator": "=", "left": { "type": "Identifier", "start": 10554, "end": 10558, "loc": { "start": { "line": 372, "column": 5 }, "end": { "line": 372, "column": 9 }, "identifierName": "left" }, "name": "left" }, "right": { "type": "ConditionalExpression", "start": 10564, "end": 10610, "loc": { "start": { "line": 372, "column": 15 }, "end": { "line": 372, "column": 61 } }, "test": { "type": "MemberExpression", "start": 10564, "end": 10583, "loc": { "start": { "line": 372, "column": 15 }, "end": { "line": 372, "column": 34 } }, "object": { "type": "Identifier", "start": 10564, "end": 10571, "loc": { "start": { "line": 372, "column": 15 }, "end": { "line": 372, "column": 22 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 10572, "end": 10583, "loc": { "start": { "line": 372, "column": 23 }, "end": { "line": 372, "column": 34 }, "identifierName": "_bvh_branch" }, "name": "_bvh_branch" }, "computed": false }, "consequent": { "type": "MemberExpression", "start": 10586, "end": 10603, "loc": { "start": { "line": 372, "column": 37 }, "end": { "line": 372, "column": 54 } }, "object": { "type": "Identifier", "start": 10586, "end": 10593, "loc": { "start": { "line": 372, "column": 37 }, "end": { "line": 372, "column": 44 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 10594, "end": 10603, "loc": { "start": { "line": 372, "column": 45 }, "end": { "line": 372, "column": 54 }, "identifierName": "_bvh_left" }, "name": "_bvh_left" }, "computed": false }, "alternate": { "type": "NullLiteral", "start": 10606, "end": 10610, "loc": { "start": { "line": 372, "column": 57 }, "end": { "line": 372, "column": 61 } } } } } } ], "directives": [] } } ], "directives": [] }, "alternate": null }, { "type": "VariableDeclaration", "start": 10627, "end": 10662, "loc": { "start": { "line": 376, "column": 3 }, "end": { "line": 376, "column": 38 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10633, "end": 10661, "loc": { "start": { "line": 376, "column": 9 }, "end": { "line": 376, "column": 37 } }, "id": { "type": "Identifier", "start": 10633, "end": 10639, "loc": { "start": { "line": 376, "column": 9 }, "end": { "line": 376, "column": 15 }, "identifierName": "branch" }, "name": "branch" }, "init": { "type": "MemberExpression", "start": 10642, "end": 10661, "loc": { "start": { "line": 376, "column": 18 }, "end": { "line": 376, "column": 37 } }, "object": { "type": "Identifier", "start": 10642, "end": 10649, "loc": { "start": { "line": 376, "column": 18 }, "end": { "line": 376, "column": 25 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 10650, "end": 10661, "loc": { "start": { "line": 376, "column": 26 }, "end": { "line": 376, "column": 37 }, "identifierName": "_bvh_branch" }, "name": "_bvh_branch" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 10666, "end": 10700, "loc": { "start": { "line": 377, "column": 3 }, "end": { "line": 377, "column": 37 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10672, "end": 10699, "loc": { "start": { "line": 377, "column": 9 }, "end": { "line": 377, "column": 36 } }, "id": { "type": "Identifier", "start": 10672, "end": 10677, "loc": { "start": { "line": 377, "column": 9 }, "end": { "line": 377, "column": 14 }, "identifierName": "min_x" }, "name": "min_x" }, "init": { "type": "MemberExpression", "start": 10681, "end": 10699, "loc": { "start": { "line": 377, "column": 18 }, "end": { "line": 377, "column": 36 } }, "object": { "type": "Identifier", "start": 10681, "end": 10688, "loc": { "start": { "line": 377, "column": 18 }, "end": { "line": 377, "column": 25 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 10689, "end": 10699, "loc": { "start": { "line": 377, "column": 26 }, "end": { "line": 377, "column": 36 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 10704, "end": 10738, "loc": { "start": { "line": 378, "column": 3 }, "end": { "line": 378, "column": 37 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10710, "end": 10737, "loc": { "start": { "line": 378, "column": 9 }, "end": { "line": 378, "column": 36 } }, "id": { "type": "Identifier", "start": 10710, "end": 10715, "loc": { "start": { "line": 378, "column": 9 }, "end": { "line": 378, "column": 14 }, "identifierName": "min_y" }, "name": "min_y" }, "init": { "type": "MemberExpression", "start": 10719, "end": 10737, "loc": { "start": { "line": 378, "column": 18 }, "end": { "line": 378, "column": 36 } }, "object": { "type": "Identifier", "start": 10719, "end": 10726, "loc": { "start": { "line": 378, "column": 18 }, "end": { "line": 378, "column": 25 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 10727, "end": 10737, "loc": { "start": { "line": 378, "column": 26 }, "end": { "line": 378, "column": 36 }, "identifierName": "_bvh_min_y" }, "name": "_bvh_min_y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 10742, "end": 10776, "loc": { "start": { "line": 379, "column": 3 }, "end": { "line": 379, "column": 37 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10748, "end": 10775, "loc": { "start": { "line": 379, "column": 9 }, "end": { "line": 379, "column": 36 } }, "id": { "type": "Identifier", "start": 10748, "end": 10753, "loc": { "start": { "line": 379, "column": 9 }, "end": { "line": 379, "column": 14 }, "identifierName": "max_x" }, "name": "max_x" }, "init": { "type": "MemberExpression", "start": 10757, "end": 10775, "loc": { "start": { "line": 379, "column": 18 }, "end": { "line": 379, "column": 36 } }, "object": { "type": "Identifier", "start": 10757, "end": 10764, "loc": { "start": { "line": 379, "column": 18 }, "end": { "line": 379, "column": 25 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 10765, "end": 10775, "loc": { "start": { "line": 379, "column": 26 }, "end": { "line": 379, "column": 36 }, "identifierName": "_bvh_max_x" }, "name": "_bvh_max_x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 10780, "end": 10814, "loc": { "start": { "line": 380, "column": 3 }, "end": { "line": 380, "column": 37 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10786, "end": 10813, "loc": { "start": { "line": 380, "column": 9 }, "end": { "line": 380, "column": 36 } }, "id": { "type": "Identifier", "start": 10786, "end": 10791, "loc": { "start": { "line": 380, "column": 9 }, "end": { "line": 380, "column": 14 }, "identifierName": "max_y" }, "name": "max_y" }, "init": { "type": "MemberExpression", "start": 10795, "end": 10813, "loc": { "start": { "line": 380, "column": 18 }, "end": { "line": 380, "column": 36 } }, "object": { "type": "Identifier", "start": 10795, "end": 10802, "loc": { "start": { "line": 380, "column": 18 }, "end": { "line": 380, "column": 25 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 10803, "end": 10813, "loc": { "start": { "line": 380, "column": 26 }, "end": { "line": 380, "column": 36 }, "identifierName": "_bvh_max_y" }, "name": "_bvh_max_y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 10818, "end": 10868, "loc": { "start": { "line": 381, "column": 3 }, "end": { "line": 381, "column": 53 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10824, "end": 10867, "loc": { "start": { "line": 381, "column": 9 }, "end": { "line": 381, "column": 52 } }, "id": { "type": "Identifier", "start": 10824, "end": 10829, "loc": { "start": { "line": 381, "column": 9 }, "end": { "line": 381, "column": 14 }, "identifierName": "right" }, "name": "right" }, "init": { "type": "ConditionalExpression", "start": 10833, "end": 10867, "loc": { "start": { "line": 381, "column": 18 }, "end": { "line": 381, "column": 52 } }, "test": { "type": "Identifier", "start": 10833, "end": 10839, "loc": { "start": { "line": 381, "column": 18 }, "end": { "line": 381, "column": 24 }, "identifierName": "branch" }, "name": "branch" }, "consequent": { "type": "MemberExpression", "start": 10842, "end": 10860, "loc": { "start": { "line": 381, "column": 27 }, "end": { "line": 381, "column": 45 } }, "object": { "type": "Identifier", "start": 10842, "end": 10849, "loc": { "start": { "line": 381, "column": 27 }, "end": { "line": 381, "column": 34 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 10850, "end": 10860, "loc": { "start": { "line": 381, "column": 35 }, "end": { "line": 381, "column": 45 }, "identifierName": "_bvh_right" }, "name": "_bvh_right" }, "computed": false }, "alternate": { "type": "NullLiteral", "start": 10863, "end": 10867, "loc": { "start": { "line": 381, "column": 48 }, "end": { "line": 381, "column": 52 } } } } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 10873, "end": 10902, "loc": { "start": { "line": 383, "column": 3 }, "end": { "line": 383, "column": 32 } }, "expression": { "type": "CallExpression", "start": 10873, "end": 10901, "loc": { "start": { "line": 383, "column": 3 }, "end": { "line": 383, "column": 31 } }, "callee": { "type": "MemberExpression", "start": 10873, "end": 10887, "loc": { "start": { "line": 383, "column": 3 }, "end": { "line": 383, "column": 17 } }, "object": { "type": "Identifier", "start": 10873, "end": 10880, "loc": { "start": { "line": 383, "column": 3 }, "end": { "line": 383, "column": 10 }, "identifierName": "context" }, "name": "context" }, "property": { "type": "Identifier", "start": 10881, "end": 10887, "loc": { "start": { "line": 383, "column": 11 }, "end": { "line": 383, "column": 17 }, "identifierName": "moveTo" }, "name": "moveTo" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 10888, "end": 10893, "loc": { "start": { "line": 383, "column": 18 }, "end": { "line": 383, "column": 23 }, "identifierName": "min_x" }, "name": "min_x" }, { "type": "Identifier", "start": 10895, "end": 10900, "loc": { "start": { "line": 383, "column": 25 }, "end": { "line": 383, "column": 30 }, "identifierName": "min_y" }, "name": "min_y" } ] } }, { "type": "ExpressionStatement", "start": 10906, "end": 10935, "loc": { "start": { "line": 384, "column": 3 }, "end": { "line": 384, "column": 32 } }, "expression": { "type": "CallExpression", "start": 10906, "end": 10934, "loc": { "start": { "line": 384, "column": 3 }, "end": { "line": 384, "column": 31 } }, "callee": { "type": "MemberExpression", "start": 10906, "end": 10920, "loc": { "start": { "line": 384, "column": 3 }, "end": { "line": 384, "column": 17 } }, "object": { "type": "Identifier", "start": 10906, "end": 10913, "loc": { "start": { "line": 384, "column": 3 }, "end": { "line": 384, "column": 10 }, "identifierName": "context" }, "name": "context" }, "property": { "type": "Identifier", "start": 10914, "end": 10920, "loc": { "start": { "line": 384, "column": 11 }, "end": { "line": 384, "column": 17 }, "identifierName": "lineTo" }, "name": "lineTo" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 10921, "end": 10926, "loc": { "start": { "line": 384, "column": 18 }, "end": { "line": 384, "column": 23 }, "identifierName": "max_x" }, "name": "max_x" }, { "type": "Identifier", "start": 10928, "end": 10933, "loc": { "start": { "line": 384, "column": 25 }, "end": { "line": 384, "column": 30 }, "identifierName": "min_y" }, "name": "min_y" } ] } }, { "type": "ExpressionStatement", "start": 10939, "end": 10968, "loc": { "start": { "line": 385, "column": 3 }, "end": { "line": 385, "column": 32 } }, "expression": { "type": "CallExpression", "start": 10939, "end": 10967, "loc": { "start": { "line": 385, "column": 3 }, "end": { "line": 385, "column": 31 } }, "callee": { "type": "MemberExpression", "start": 10939, "end": 10953, "loc": { "start": { "line": 385, "column": 3 }, "end": { "line": 385, "column": 17 } }, "object": { "type": "Identifier", "start": 10939, "end": 10946, "loc": { "start": { "line": 385, "column": 3 }, "end": { "line": 385, "column": 10 }, "identifierName": "context" }, "name": "context" }, "property": { "type": "Identifier", "start": 10947, "end": 10953, "loc": { "start": { "line": 385, "column": 11 }, "end": { "line": 385, "column": 17 }, "identifierName": "lineTo" }, "name": "lineTo" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 10954, "end": 10959, "loc": { "start": { "line": 385, "column": 18 }, "end": { "line": 385, "column": 23 }, "identifierName": "max_x" }, "name": "max_x" }, { "type": "Identifier", "start": 10961, "end": 10966, "loc": { "start": { "line": 385, "column": 25 }, "end": { "line": 385, "column": 30 }, "identifierName": "max_y" }, "name": "max_y" } ] } }, { "type": "ExpressionStatement", "start": 10972, "end": 11001, "loc": { "start": { "line": 386, "column": 3 }, "end": { "line": 386, "column": 32 } }, "expression": { "type": "CallExpression", "start": 10972, "end": 11000, "loc": { "start": { "line": 386, "column": 3 }, "end": { "line": 386, "column": 31 } }, "callee": { "type": "MemberExpression", "start": 10972, "end": 10986, "loc": { "start": { "line": 386, "column": 3 }, "end": { "line": 386, "column": 17 } }, "object": { "type": "Identifier", "start": 10972, "end": 10979, "loc": { "start": { "line": 386, "column": 3 }, "end": { "line": 386, "column": 10 }, "identifierName": "context" }, "name": "context" }, "property": { "type": "Identifier", "start": 10980, "end": 10986, "loc": { "start": { "line": 386, "column": 11 }, "end": { "line": 386, "column": 17 }, "identifierName": "lineTo" }, "name": "lineTo" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 10987, "end": 10992, "loc": { "start": { "line": 386, "column": 18 }, "end": { "line": 386, "column": 23 }, "identifierName": "min_x" }, "name": "min_x" }, { "type": "Identifier", "start": 10994, "end": 10999, "loc": { "start": { "line": 386, "column": 25 }, "end": { "line": 386, "column": 30 }, "identifierName": "max_y" }, "name": "max_y" } ] } }, { "type": "ExpressionStatement", "start": 11005, "end": 11034, "loc": { "start": { "line": 387, "column": 3 }, "end": { "line": 387, "column": 32 } }, "expression": { "type": "CallExpression", "start": 11005, "end": 11033, "loc": { "start": { "line": 387, "column": 3 }, "end": { "line": 387, "column": 31 } }, "callee": { "type": "MemberExpression", "start": 11005, "end": 11019, "loc": { "start": { "line": 387, "column": 3 }, "end": { "line": 387, "column": 17 } }, "object": { "type": "Identifier", "start": 11005, "end": 11012, "loc": { "start": { "line": 387, "column": 3 }, "end": { "line": 387, "column": 10 }, "identifierName": "context" }, "name": "context" }, "property": { "type": "Identifier", "start": 11013, "end": 11019, "loc": { "start": { "line": 387, "column": 11 }, "end": { "line": 387, "column": 17 }, "identifierName": "lineTo" }, "name": "lineTo" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 11020, "end": 11025, "loc": { "start": { "line": 387, "column": 18 }, "end": { "line": 387, "column": 23 }, "identifierName": "min_x" }, "name": "min_x" }, { "type": "Identifier", "start": 11027, "end": 11032, "loc": { "start": { "line": 387, "column": 25 }, "end": { "line": 387, "column": 30 }, "identifierName": "min_y" }, "name": "min_y" } ] } }, { "type": "IfStatement", "start": 11039, "end": 11360, "loc": { "start": { "line": 389, "column": 3 }, "end": { "line": 407, "column": 4 } }, "test": { "type": "Identifier", "start": 11042, "end": 11047, "loc": { "start": { "line": 389, "column": 6 }, "end": { "line": 389, "column": 11 }, "identifierName": "right" }, "name": "right" }, "consequent": { "type": "BlockStatement", "start": 11049, "end": 11108, "loc": { "start": { "line": 389, "column": 13 }, "end": { "line": 392, "column": 4 } }, "body": [ { "type": "ExpressionStatement", "start": 11055, "end": 11077, "loc": { "start": { "line": 390, "column": 4 }, "end": { "line": 390, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 11055, "end": 11076, "loc": { "start": { "line": 390, "column": 4 }, "end": { "line": 390, "column": 25 } }, "operator": "=", "left": { "type": "Identifier", "start": 11055, "end": 11062, "loc": { "start": { "line": 390, "column": 4 }, "end": { "line": 390, "column": 11 }, "identifierName": "current" }, "name": "current" }, "right": { "type": "Identifier", "start": 11071, "end": 11076, "loc": { "start": { "line": 390, "column": 20 }, "end": { "line": 390, "column": 25 }, "identifierName": "right" }, "name": "right" } } }, { "type": "ExpressionStatement", "start": 11082, "end": 11103, "loc": { "start": { "line": 391, "column": 4 }, "end": { "line": 391, "column": 25 } }, "expression": { "type": "AssignmentExpression", "start": 11082, "end": 11102, "loc": { "start": { "line": 391, "column": 4 }, "end": { "line": 391, "column": 24 } }, "operator": "=", "left": { "type": "Identifier", "start": 11082, "end": 11095, "loc": { "start": { "line": 391, "column": 4 }, "end": { "line": 391, "column": 17 }, "identifierName": "traverse_left" }, "name": "traverse_left" }, "right": { "type": "BooleanLiteral", "start": 11098, "end": 11102, "loc": { "start": { "line": 391, "column": 20 }, "end": { "line": 391, "column": 24 } }, "value": true } } } ], "directives": [] }, "alternate": { "type": "BlockStatement", "start": 11117, "end": 11360, "loc": { "start": { "line": 393, "column": 8 }, "end": { "line": 407, "column": 4 } }, "body": [ { "type": "VariableDeclaration", "start": 11123, "end": 11156, "loc": { "start": { "line": 394, "column": 4 }, "end": { "line": 394, "column": 37 } }, "declarations": [ { "type": "VariableDeclarator", "start": 11127, "end": 11155, "loc": { "start": { "line": 394, "column": 8 }, "end": { "line": 394, "column": 36 } }, "id": { "type": "Identifier", "start": 11127, "end": 11133, "loc": { "start": { "line": 394, "column": 8 }, "end": { "line": 394, "column": 14 }, "identifierName": "parent" }, "name": "parent" }, "init": { "type": "MemberExpression", "start": 11136, "end": 11155, "loc": { "start": { "line": 394, "column": 17 }, "end": { "line": 394, "column": 36 } }, "object": { "type": "Identifier", "start": 11136, "end": 11143, "loc": { "start": { "line": 394, "column": 17 }, "end": { "line": 394, "column": 24 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 11144, "end": 11155, "loc": { "start": { "line": 394, "column": 25 }, "end": { "line": 394, "column": 36 }, "identifierName": "_bvh_parent" }, "name": "_bvh_parent" }, "computed": false } } ], "kind": "let" }, { "type": "IfStatement", "start": 11162, "end": 11355, "loc": { "start": { "line": 396, "column": 4 }, "end": { "line": 406, "column": 5 } }, "test": { "type": "Identifier", "start": 11165, "end": 11171, "loc": { "start": { "line": 396, "column": 7 }, "end": { "line": 396, "column": 13 }, "identifierName": "parent" }, "name": "parent" }, "consequent": { "type": "BlockStatement", "start": 11173, "end": 11326, "loc": { "start": { "line": 396, "column": 15 }, "end": { "line": 403, "column": 5 } }, "body": [ { "type": "WhileStatement", "start": 11180, "end": 11296, "loc": { "start": { "line": 397, "column": 5 }, "end": { "line": 400, "column": 6 } }, "test": { "type": "LogicalExpression", "start": 11186, "end": 11225, "loc": { "start": { "line": 397, "column": 11 }, "end": { "line": 397, "column": 50 } }, "left": { "type": "Identifier", "start": 11186, "end": 11192, "loc": { "start": { "line": 397, "column": 11 }, "end": { "line": 397, "column": 17 }, "identifierName": "parent" }, "name": "parent" }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 11196, "end": 11225, "loc": { "start": { "line": 397, "column": 21 }, "end": { "line": 397, "column": 50 } }, "left": { "type": "MemberExpression", "start": 11196, "end": 11213, "loc": { "start": { "line": 397, "column": 21 }, "end": { "line": 397, "column": 38 } }, "object": { "type": "Identifier", "start": 11196, "end": 11202, "loc": { "start": { "line": 397, "column": 21 }, "end": { "line": 397, "column": 27 }, "identifierName": "parent" }, "name": "parent" }, "property": { "type": "Identifier", "start": 11203, "end": 11213, "loc": { "start": { "line": 397, "column": 28 }, "end": { "line": 397, "column": 38 }, "identifierName": "_bvh_right" }, "name": "_bvh_right" }, "computed": false }, "operator": "===", "right": { "type": "Identifier", "start": 11218, "end": 11225, "loc": { "start": { "line": 397, "column": 43 }, "end": { "line": 397, "column": 50 }, "identifierName": "current" }, "name": "current" } } }, "body": { "type": "BlockStatement", "start": 11227, "end": 11296, "loc": { "start": { "line": 397, "column": 52 }, "end": { "line": 400, "column": 6 } }, "body": [ { "type": "ExpressionStatement", "start": 11235, "end": 11252, "loc": { "start": { "line": 398, "column": 6 }, "end": { "line": 398, "column": 23 } }, "expression": { "type": "AssignmentExpression", "start": 11235, "end": 11251, "loc": { "start": { "line": 398, "column": 6 }, "end": { "line": 398, "column": 22 } }, "operator": "=", "left": { "type": "Identifier", "start": 11235, "end": 11242, "loc": { "start": { "line": 398, "column": 6 }, "end": { "line": 398, "column": 13 }, "identifierName": "current" }, "name": "current" }, "right": { "type": "Identifier", "start": 11245, "end": 11251, "loc": { "start": { "line": 398, "column": 16 }, "end": { "line": 398, "column": 22 }, "identifierName": "parent" }, "name": "parent" } } }, { "type": "ExpressionStatement", "start": 11259, "end": 11289, "loc": { "start": { "line": 399, "column": 6 }, "end": { "line": 399, "column": 36 } }, "expression": { "type": "AssignmentExpression", "start": 11259, "end": 11288, "loc": { "start": { "line": 399, "column": 6 }, "end": { "line": 399, "column": 35 } }, "operator": "=", "left": { "type": "Identifier", "start": 11259, "end": 11265, "loc": { "start": { "line": 399, "column": 6 }, "end": { "line": 399, "column": 12 }, "identifierName": "parent" }, "name": "parent" }, "right": { "type": "MemberExpression", "start": 11269, "end": 11288, "loc": { "start": { "line": 399, "column": 16 }, "end": { "line": 399, "column": 35 } }, "object": { "type": "Identifier", "start": 11269, "end": 11276, "loc": { "start": { "line": 399, "column": 16 }, "end": { "line": 399, "column": 23 }, "identifierName": "current" }, "name": "current" }, "property": { "type": "Identifier", "start": 11277, "end": 11288, "loc": { "start": { "line": 399, "column": 24 }, "end": { "line": 399, "column": 35 }, "identifierName": "_bvh_parent" }, "name": "_bvh_parent" }, "computed": false } } } ], "directives": [] } }, { "type": "ExpressionStatement", "start": 11303, "end": 11320, "loc": { "start": { "line": 402, "column": 5 }, "end": { "line": 402, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 11303, "end": 11319, "loc": { "start": { "line": 402, "column": 5 }, "end": { "line": 402, "column": 21 } }, "operator": "=", "left": { "type": "Identifier", "start": 11303, "end": 11310, "loc": { "start": { "line": 402, "column": 5 }, "end": { "line": 402, "column": 12 }, "identifierName": "current" }, "name": "current" }, "right": { "type": "Identifier", "start": 11313, "end": 11319, "loc": { "start": { "line": 402, "column": 15 }, "end": { "line": 402, "column": 21 }, "identifierName": "parent" }, "name": "parent" } } } ], "directives": [] }, "alternate": { "type": "BlockStatement", "start": 11336, "end": 11355, "loc": { "start": { "line": 404, "column": 9 }, "end": { "line": 406, "column": 5 } }, "body": [ { "type": "BreakStatement", "start": 11343, "end": 11349, "loc": { "start": { "line": 405, "column": 5 }, "end": { "line": 405, "column": 11 } }, "label": null } ], "directives": [] } } ], "directives": [] } } ], "directives": [] } } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Draws the BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 10078, "end": 10287, "loc": { "start": { "line": 356, "column": 1 }, "end": { "line": 359, "column": 4 } } } ] } ] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly\n * @class\n * @private\n ", "start": 42, "end": 150, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 7, "column": 3 } } } ], "trailingComments": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly\n * @class\n * @private\n ", "start": 42, "end": 150, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 7, "column": 3 } } } ] }, { "type": "EmptyStatement", "start": 11369, "end": 11370, "loc": { "start": { "line": 410, "column": 1 }, "end": { "line": 410, "column": 2 } } } ], "directives": [] }, "comments": [ { "type": "CommentBlock", "value": "*\n * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly\n * @class\n * @private\n ", "start": 42, "end": 150, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 7, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t ", "start": 179, "end": 204, "loc": { "start": { "line": 9, "column": 1 }, "end": { "line": 11, "column": 4 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 224, "end": 239, "loc": { "start": { "line": 13, "column": 2 }, "end": { "line": 13, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 269, "end": 284, "loc": { "start": { "line": 16, "column": 2 }, "end": { "line": 16, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 309, "end": 324, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 17 } } }, { "type": "CommentBlock", "value": "*\n\t * Inserts a body into the BVH\n\t * @param {Circle|Polygon|Point} body The body to insert\n\t * @param {Boolean} [updating = false] Set to true if the body already exists in the BVH (used internally when updating the body's position)\n\t ", "start": 359, "end": 599, "loc": { "start": { "line": 23, "column": 1 }, "end": { "line": 27, "column": 4 } } }, { "type": "CommentLine", "value": " Branch", "start": 1845, "end": 1854, "loc": { "start": { "line": 77, "column": 4 }, "end": { "line": 77, "column": 13 } } }, { "type": "CommentLine", "value": " Leaf", "start": 3975, "end": 3982, "loc": { "start": { "line": 112, "column": 4 }, "end": { "line": 112, "column": 11 } } }, { "type": "CommentBlock", "value": "*\n\t * Removes a body from the BVH\n\t * @param {Circle|Polygon|Point} body The body to remove\n\t * @param {Boolean} [updating = false] Set to true if this is a temporary removal (used internally when updating the body's position)\n\t ", "start": 5074, "end": 5307, "loc": { "start": { "line": 146, "column": 1 }, "end": { "line": 150, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Updates the BVH. Moved bodies are removed/inserted.\n\t ", "start": 7018, "end": 7082, "loc": { "start": { "line": 218, "column": 1 }, "end": { "line": 220, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test\n\t * @returns {Array}\n\t ", "start": 8256, "end": 8401, "loc": { "start": { "line": 269, "column": 1 }, "end": { "line": 273, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Draws the bodies within the BVH to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 9766, "end": 9924, "loc": { "start": { "line": 343, "column": 1 }, "end": { "line": 346, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Draws the BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 10078, "end": 10287, "loc": { "start": { "line": 356, "column": 1 }, "end": { "line": 359, "column": 4 } } } ], "tokens": [ { "type": { "label": "import", "keyword": "import", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "import", "start": 0, "end": 6, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "BVHBranch", "start": 7, "end": 16, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 17, "end": 21, "loc": { "start": { "line": 1, "column": 17 }, "end": { "line": 1, "column": 21 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./BVHBranch.mjs", "start": 22, "end": 39, "loc": { "start": { "line": 1, "column": 22 }, "end": { "line": 1, "column": 39 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 39, "end": 40, "loc": { "start": { "line": 1, "column": 39 }, "end": { "line": 1, "column": 40 } } }, { "type": "CommentBlock", "value": "*\n * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly\n * @class\n * @private\n ", "start": 42, "end": 150, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 7, "column": 3 } } }, { "type": { "label": "export", "keyword": "export", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "export", "start": 151, "end": 157, "loc": { "start": { "line": 8, "column": 0 }, "end": { "line": 8, "column": 6 } } }, { "type": { "label": "default", "keyword": "default", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "default", "start": 158, "end": 165, "loc": { "start": { "line": 8, "column": 7 }, "end": { "line": 8, "column": 14 } } }, { "type": { "label": "class", "keyword": "class", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "class", "start": 166, "end": 171, "loc": { "start": { "line": 8, "column": 15 }, "end": { "line": 8, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "BVH", "start": 172, "end": 175, "loc": { "start": { "line": 8, "column": 21 }, "end": { "line": 8, "column": 24 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 176, "end": 177, "loc": { "start": { "line": 8, "column": 25 }, "end": { "line": 8, "column": 26 } } }, { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t ", "start": 179, "end": 204, "loc": { "start": { "line": 9, "column": 1 }, "end": { "line": 11, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "constructor", "start": 206, "end": 217, "loc": { "start": { "line": 12, "column": 1 }, "end": { "line": 12, "column": 12 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 217, "end": 218, "loc": { "start": { "line": 12, "column": 12 }, "end": { "line": 12, "column": 13 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 218, "end": 219, "loc": { "start": { "line": 12, "column": 13 }, "end": { "line": 12, "column": 14 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 220, "end": 221, "loc": { "start": { "line": 12, "column": 15 }, "end": { "line": 12, "column": 16 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 224, "end": 239, "loc": { "start": { "line": 13, "column": 2 }, "end": { "line": 13, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 242, "end": 246, "loc": { "start": { "line": 14, "column": 2 }, "end": { "line": 14, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 246, "end": 247, "loc": { "start": { "line": 14, "column": 6 }, "end": { "line": 14, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_hierarchy", "start": 247, "end": 257, "loc": { "start": { "line": 14, "column": 7 }, "end": { "line": 14, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 258, "end": 259, "loc": { "start": { "line": 14, "column": 18 }, "end": { "line": 14, "column": 19 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 260, "end": 264, "loc": { "start": { "line": 14, "column": 20 }, "end": { "line": 14, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 264, "end": 265, "loc": { "start": { "line": 14, "column": 24 }, "end": { "line": 14, "column": 25 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 269, "end": 284, "loc": { "start": { "line": 16, "column": 2 }, "end": { "line": 16, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 287, "end": 291, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 291, "end": 292, "loc": { "start": { "line": 17, "column": 6 }, "end": { "line": 17, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bodies", "start": 292, "end": 299, "loc": { "start": { "line": 17, "column": 7 }, "end": { "line": 17, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 300, "end": 301, "loc": { "start": { "line": 17, "column": 15 }, "end": { "line": 17, "column": 16 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 302, "end": 303, "loc": { "start": { "line": 17, "column": 17 }, "end": { "line": 17, "column": 18 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 303, "end": 304, "loc": { "start": { "line": 17, "column": 18 }, "end": { "line": 17, "column": 19 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 304, "end": 305, "loc": { "start": { "line": 17, "column": 19 }, "end": { "line": 17, "column": 20 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 309, "end": 324, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 327, "end": 331, "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 20, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 331, "end": 332, "loc": { "start": { "line": 20, "column": 6 }, "end": { "line": 20, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_dirty_branches", "start": 332, "end": 347, "loc": { "start": { "line": 20, "column": 7 }, "end": { "line": 20, "column": 22 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 348, "end": 349, "loc": { "start": { "line": 20, "column": 23 }, "end": { "line": 20, "column": 24 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 350, "end": 351, "loc": { "start": { "line": 20, "column": 25 }, "end": { "line": 20, "column": 26 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 351, "end": 352, "loc": { "start": { "line": 20, "column": 26 }, "end": { "line": 20, "column": 27 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 352, "end": 353, "loc": { "start": { "line": 20, "column": 27 }, "end": { "line": 20, "column": 28 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 355, "end": 356, "loc": { "start": { "line": 21, "column": 1 }, "end": { "line": 21, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Inserts a body into the BVH\n\t * @param {Circle|Polygon|Point} body The body to insert\n\t * @param {Boolean} [updating = false] Set to true if the body already exists in the BVH (used internally when updating the body's position)\n\t ", "start": 359, "end": 599, "loc": { "start": { "line": 23, "column": 1 }, "end": { "line": 27, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "insert", "start": 601, "end": 607, "loc": { "start": { "line": 28, "column": 1 }, "end": { "line": 28, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 607, "end": 608, "loc": { "start": { "line": 28, "column": 7 }, "end": { "line": 28, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 608, "end": 612, "loc": { "start": { "line": 28, "column": 8 }, "end": { "line": 28, "column": 12 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 612, "end": 613, "loc": { "start": { "line": 28, "column": 12 }, "end": { "line": 28, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "updating", "start": 614, "end": 622, "loc": { "start": { "line": 28, "column": 14 }, "end": { "line": 28, "column": 22 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 623, "end": 624, "loc": { "start": { "line": 28, "column": 23 }, "end": { "line": 28, "column": 24 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 625, "end": 630, "loc": { "start": { "line": 28, "column": 25 }, "end": { "line": 28, "column": 30 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 630, "end": 631, "loc": { "start": { "line": 28, "column": 30 }, "end": { "line": 28, "column": 31 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 632, "end": 633, "loc": { "start": { "line": 28, "column": 32 }, "end": { "line": 28, "column": 33 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 636, "end": 638, "loc": { "start": { "line": 29, "column": 2 }, "end": { "line": 29, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 638, "end": 639, "loc": { "start": { "line": 29, "column": 4 }, "end": { "line": 29, "column": 5 } } }, { "type": { "label": "prefix", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": null, "updateContext": null }, "value": "!", "start": 639, "end": 640, "loc": { "start": { "line": 29, "column": 5 }, "end": { "line": 29, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "updating", "start": 640, "end": 648, "loc": { "start": { "line": 29, "column": 6 }, "end": { "line": 29, "column": 14 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 648, "end": 649, "loc": { "start": { "line": 29, "column": 14 }, "end": { "line": 29, "column": 15 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 650, "end": 651, "loc": { "start": { "line": 29, "column": 16 }, "end": { "line": 29, "column": 17 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 655, "end": 660, "loc": { "start": { "line": 30, "column": 3 }, "end": { "line": 30, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bvh", "start": 661, "end": 664, "loc": { "start": { "line": 30, "column": 9 }, "end": { "line": 30, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 665, "end": 666, "loc": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 667, "end": 671, "loc": { "start": { "line": 30, "column": 15 }, "end": { "line": 30, "column": 19 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 671, "end": 672, "loc": { "start": { "line": 30, "column": 19 }, "end": { "line": 30, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh", "start": 672, "end": 676, "loc": { "start": { "line": 30, "column": 20 }, "end": { "line": 30, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 676, "end": 677, "loc": { "start": { "line": 30, "column": 24 }, "end": { "line": 30, "column": 25 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 682, "end": 684, "loc": { "start": { "line": 32, "column": 3 }, "end": { "line": 32, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 684, "end": 685, "loc": { "start": { "line": 32, "column": 5 }, "end": { "line": 32, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bvh", "start": 685, "end": 688, "loc": { "start": { "line": 32, "column": 6 }, "end": { "line": 32, "column": 9 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 689, "end": 691, "loc": { "start": { "line": 32, "column": 10 }, "end": { "line": 32, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bvh", "start": 692, "end": 695, "loc": { "start": { "line": 32, "column": 13 }, "end": { "line": 32, "column": 16 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 696, "end": 699, "loc": { "start": { "line": 32, "column": 17 }, "end": { "line": 32, "column": 20 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 700, "end": 704, "loc": { "start": { "line": 32, "column": 21 }, "end": { "line": 32, "column": 25 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 704, "end": 705, "loc": { "start": { "line": 32, "column": 25 }, "end": { "line": 32, "column": 26 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 706, "end": 707, "loc": { "start": { "line": 32, "column": 27 }, "end": { "line": 32, "column": 28 } } }, { "type": { "label": "throw", "keyword": "throw", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "throw", "start": 712, "end": 717, "loc": { "start": { "line": 33, "column": 4 }, "end": { "line": 33, "column": 9 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 718, "end": 721, "loc": { "start": { "line": 33, "column": 10 }, "end": { "line": 33, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Error", "start": 722, "end": 727, "loc": { "start": { "line": 33, "column": 14 }, "end": { "line": 33, "column": 19 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 727, "end": 728, "loc": { "start": { "line": 33, "column": 19 }, "end": { "line": 33, "column": 20 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "Body belongs to another collision system", "start": 728, "end": 770, "loc": { "start": { "line": 33, "column": 20 }, "end": { "line": 33, "column": 62 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 770, "end": 771, "loc": { "start": { "line": 33, "column": 62 }, "end": { "line": 33, "column": 63 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 771, "end": 772, "loc": { "start": { "line": 33, "column": 63 }, "end": { "line": 33, "column": 64 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 776, "end": 777, "loc": { "start": { "line": 34, "column": 3 }, "end": { "line": 34, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 782, "end": 786, "loc": { "start": { "line": 36, "column": 3 }, "end": { "line": 36, "column": 7 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 786, "end": 787, "loc": { "start": { "line": 36, "column": 7 }, "end": { "line": 36, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh", "start": 787, "end": 791, "loc": { "start": { "line": 36, "column": 8 }, "end": { "line": 36, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 792, "end": 793, "loc": { "start": { "line": 36, "column": 13 }, "end": { "line": 36, "column": 14 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 794, "end": 798, "loc": { "start": { "line": 36, "column": 15 }, "end": { "line": 36, "column": 19 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 798, "end": 799, "loc": { "start": { "line": 36, "column": 19 }, "end": { "line": 36, "column": 20 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 803, "end": 807, "loc": { "start": { "line": 37, "column": 3 }, "end": { "line": 37, "column": 7 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 807, "end": 808, "loc": { "start": { "line": 37, "column": 7 }, "end": { "line": 37, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bodies", "start": 808, "end": 815, "loc": { "start": { "line": 37, "column": 8 }, "end": { "line": 37, "column": 15 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 815, "end": 816, "loc": { "start": { "line": 37, "column": 15 }, "end": { "line": 37, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "push", "start": 816, "end": 820, "loc": { "start": { "line": 37, "column": 16 }, "end": { "line": 37, "column": 20 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 820, "end": 821, "loc": { "start": { "line": 37, "column": 20 }, "end": { "line": 37, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 821, "end": 825, "loc": { "start": { "line": 37, "column": 21 }, "end": { "line": 37, "column": 25 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 825, "end": 826, "loc": { "start": { "line": 37, "column": 25 }, "end": { "line": 37, "column": 26 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 826, "end": 827, "loc": { "start": { "line": 37, "column": 26 }, "end": { "line": 37, "column": 27 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 830, "end": 831, "loc": { "start": { "line": 38, "column": 2 }, "end": { "line": 38, "column": 3 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 835, "end": 840, "loc": { "start": { "line": 40, "column": 2 }, "end": { "line": 40, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygon", "start": 841, "end": 848, "loc": { "start": { "line": 40, "column": 8 }, "end": { "line": 40, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 849, "end": 850, "loc": { "start": { "line": 40, "column": 16 }, "end": { "line": 40, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 851, "end": 855, "loc": { "start": { "line": 40, "column": 18 }, "end": { "line": 40, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 855, "end": 856, "loc": { "start": { "line": 40, "column": 22 }, "end": { "line": 40, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_polygon", "start": 856, "end": 864, "loc": { "start": { "line": 40, "column": 23 }, "end": { "line": 40, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 864, "end": 865, "loc": { "start": { "line": 40, "column": 31 }, "end": { "line": 40, "column": 32 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 868, "end": 873, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_x", "start": 874, "end": 880, "loc": { "start": { "line": 41, "column": 8 }, "end": { "line": 41, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 882, "end": 883, "loc": { "start": { "line": 41, "column": 16 }, "end": { "line": 41, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 884, "end": 888, "loc": { "start": { "line": 41, "column": 18 }, "end": { "line": 41, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 888, "end": 889, "loc": { "start": { "line": 41, "column": 22 }, "end": { "line": 41, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 889, "end": 890, "loc": { "start": { "line": 41, "column": 23 }, "end": { "line": 41, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 890, "end": 891, "loc": { "start": { "line": 41, "column": 24 }, "end": { "line": 41, "column": 25 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 894, "end": 899, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 42, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_y", "start": 900, "end": 906, "loc": { "start": { "line": 42, "column": 8 }, "end": { "line": 42, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 908, "end": 909, "loc": { "start": { "line": 42, "column": 16 }, "end": { "line": 42, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 910, "end": 914, "loc": { "start": { "line": 42, "column": 18 }, "end": { "line": 42, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 914, "end": 915, "loc": { "start": { "line": 42, "column": 22 }, "end": { "line": 42, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 915, "end": 916, "loc": { "start": { "line": 42, "column": 23 }, "end": { "line": 42, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 916, "end": 917, "loc": { "start": { "line": 42, "column": 24 }, "end": { "line": 42, "column": 25 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 921, "end": 923, "loc": { "start": { "line": 44, "column": 2 }, "end": { "line": 44, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 923, "end": 924, "loc": { "start": { "line": 44, "column": 4 }, "end": { "line": 44, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygon", "start": 924, "end": 931, "loc": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 12 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 931, "end": 932, "loc": { "start": { "line": 44, "column": 12 }, "end": { "line": 44, "column": 13 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 933, "end": 934, "loc": { "start": { "line": 44, "column": 14 }, "end": { "line": 44, "column": 15 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 938, "end": 940, "loc": { "start": { "line": 45, "column": 3 }, "end": { "line": 45, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 940, "end": 941, "loc": { "start": { "line": 45, "column": 5 }, "end": { "line": 45, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 946, "end": 950, "loc": { "start": { "line": 46, "column": 4 }, "end": { "line": 46, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 950, "end": 951, "loc": { "start": { "line": 46, "column": 8 }, "end": { "line": 46, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_dirty_coords", "start": 951, "end": 964, "loc": { "start": { "line": 46, "column": 9 }, "end": { "line": 46, "column": 22 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 965, "end": 967, "loc": { "start": { "line": 46, "column": 23 }, "end": { "line": 46, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 972, "end": 976, "loc": { "start": { "line": 47, "column": 4 }, "end": { "line": 47, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 976, "end": 977, "loc": { "start": { "line": 47, "column": 8 }, "end": { "line": 47, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 977, "end": 978, "loc": { "start": { "line": 47, "column": 9 }, "end": { "line": 47, "column": 10 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 985, "end": 988, "loc": { "start": { "line": 47, "column": 17 }, "end": { "line": 47, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 989, "end": 993, "loc": { "start": { "line": 47, "column": 21 }, "end": { "line": 47, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 993, "end": 994, "loc": { "start": { "line": 47, "column": 25 }, "end": { "line": 47, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_x", "start": 994, "end": 996, "loc": { "start": { "line": 47, "column": 26 }, "end": { "line": 47, "column": 28 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 997, "end": 999, "loc": { "start": { "line": 47, "column": 29 }, "end": { "line": 47, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1004, "end": 1008, "loc": { "start": { "line": 48, "column": 4 }, "end": { "line": 48, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1008, "end": 1009, "loc": { "start": { "line": 48, "column": 8 }, "end": { "line": 48, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 1009, "end": 1010, "loc": { "start": { "line": 48, "column": 9 }, "end": { "line": 48, "column": 10 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 1017, "end": 1020, "loc": { "start": { "line": 48, "column": 17 }, "end": { "line": 48, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1021, "end": 1025, "loc": { "start": { "line": 48, "column": 21 }, "end": { "line": 48, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1025, "end": 1026, "loc": { "start": { "line": 48, "column": 25 }, "end": { "line": 48, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_y", "start": 1026, "end": 1028, "loc": { "start": { "line": 48, "column": 26 }, "end": { "line": 48, "column": 28 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 1029, "end": 1031, "loc": { "start": { "line": 48, "column": 29 }, "end": { "line": 48, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1036, "end": 1040, "loc": { "start": { "line": 49, "column": 4 }, "end": { "line": 49, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1040, "end": 1041, "loc": { "start": { "line": 49, "column": 8 }, "end": { "line": 49, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "angle", "start": 1041, "end": 1046, "loc": { "start": { "line": 49, "column": 9 }, "end": { "line": 49, "column": 14 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 1049, "end": 1052, "loc": { "start": { "line": 49, "column": 17 }, "end": { "line": 49, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1053, "end": 1057, "loc": { "start": { "line": 49, "column": 21 }, "end": { "line": 49, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1057, "end": 1058, "loc": { "start": { "line": 49, "column": 25 }, "end": { "line": 49, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_angle", "start": 1058, "end": 1064, "loc": { "start": { "line": 49, "column": 26 }, "end": { "line": 49, "column": 32 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 1065, "end": 1067, "loc": { "start": { "line": 49, "column": 33 }, "end": { "line": 49, "column": 35 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1072, "end": 1076, "loc": { "start": { "line": 50, "column": 4 }, "end": { "line": 50, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1076, "end": 1077, "loc": { "start": { "line": 50, "column": 8 }, "end": { "line": 50, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_x", "start": 1077, "end": 1084, "loc": { "start": { "line": 50, "column": 9 }, "end": { "line": 50, "column": 16 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 1085, "end": 1088, "loc": { "start": { "line": 50, "column": 17 }, "end": { "line": 50, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1089, "end": 1093, "loc": { "start": { "line": 50, "column": 21 }, "end": { "line": 50, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1093, "end": 1094, "loc": { "start": { "line": 50, "column": 25 }, "end": { "line": 50, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_scale_x", "start": 1094, "end": 1102, "loc": { "start": { "line": 50, "column": 26 }, "end": { "line": 50, "column": 34 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 1103, "end": 1105, "loc": { "start": { "line": 50, "column": 35 }, "end": { "line": 50, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1110, "end": 1114, "loc": { "start": { "line": 51, "column": 4 }, "end": { "line": 51, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1114, "end": 1115, "loc": { "start": { "line": 51, "column": 8 }, "end": { "line": 51, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_y", "start": 1115, "end": 1122, "loc": { "start": { "line": 51, "column": 9 }, "end": { "line": 51, "column": 16 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 1123, "end": 1126, "loc": { "start": { "line": 51, "column": 17 }, "end": { "line": 51, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1127, "end": 1131, "loc": { "start": { "line": 51, "column": 21 }, "end": { "line": 51, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1131, "end": 1132, "loc": { "start": { "line": 51, "column": 25 }, "end": { "line": 51, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_scale_y", "start": 1132, "end": 1140, "loc": { "start": { "line": 51, "column": 26 }, "end": { "line": 51, "column": 34 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1144, "end": 1145, "loc": { "start": { "line": 52, "column": 3 }, "end": { "line": 52, "column": 4 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1146, "end": 1147, "loc": { "start": { "line": 52, "column": 5 }, "end": { "line": 52, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1152, "end": 1156, "loc": { "start": { "line": 53, "column": 4 }, "end": { "line": 53, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1156, "end": 1157, "loc": { "start": { "line": 53, "column": 8 }, "end": { "line": 53, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_calculateCoords", "start": 1157, "end": 1173, "loc": { "start": { "line": 53, "column": 9 }, "end": { "line": 53, "column": 25 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1173, "end": 1174, "loc": { "start": { "line": 53, "column": 25 }, "end": { "line": 53, "column": 26 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1174, "end": 1175, "loc": { "start": { "line": 53, "column": 26 }, "end": { "line": 53, "column": 27 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1175, "end": 1176, "loc": { "start": { "line": 53, "column": 27 }, "end": { "line": 53, "column": 28 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1180, "end": 1181, "loc": { "start": { "line": 54, "column": 3 }, "end": { "line": 54, "column": 4 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1184, "end": 1185, "loc": { "start": { "line": 55, "column": 2 }, "end": { "line": 55, "column": 3 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 1189, "end": 1194, "loc": { "start": { "line": 57, "column": 2 }, "end": { "line": 57, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 1195, "end": 1202, "loc": { "start": { "line": 57, "column": 8 }, "end": { "line": 57, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1206, "end": 1207, "loc": { "start": { "line": 57, "column": 19 }, "end": { "line": 57, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1208, "end": 1212, "loc": { "start": { "line": 57, "column": 21 }, "end": { "line": 57, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1212, "end": 1213, "loc": { "start": { "line": 57, "column": 25 }, "end": { "line": 57, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_padding", "start": 1213, "end": 1225, "loc": { "start": { "line": 57, "column": 26 }, "end": { "line": 57, "column": 38 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1225, "end": 1226, "loc": { "start": { "line": 57, "column": 38 }, "end": { "line": 57, "column": 39 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 1229, "end": 1234, "loc": { "start": { "line": 58, "column": 2 }, "end": { "line": 58, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 1235, "end": 1241, "loc": { "start": { "line": 58, "column": 8 }, "end": { "line": 58, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1246, "end": 1247, "loc": { "start": { "line": 58, "column": 19 }, "end": { "line": 58, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygon", "start": 1248, "end": 1255, "loc": { "start": { "line": 58, "column": 21 }, "end": { "line": 58, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1256, "end": 1257, "loc": { "start": { "line": 58, "column": 29 }, "end": { "line": 58, "column": 30 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1258, "end": 1259, "loc": { "start": { "line": 58, "column": 31 }, "end": { "line": 58, "column": 32 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1260, "end": 1261, "loc": { "start": { "line": 58, "column": 33 }, "end": { "line": 58, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1262, "end": 1266, "loc": { "start": { "line": 58, "column": 35 }, "end": { "line": 58, "column": 39 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1266, "end": 1267, "loc": { "start": { "line": 58, "column": 39 }, "end": { "line": 58, "column": 40 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 1267, "end": 1273, "loc": { "start": { "line": 58, "column": 40 }, "end": { "line": 58, "column": 46 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 1274, "end": 1275, "loc": { "start": { "line": 58, "column": 47 }, "end": { "line": 58, "column": 48 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1276, "end": 1280, "loc": { "start": { "line": 58, "column": 49 }, "end": { "line": 58, "column": 53 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1280, "end": 1281, "loc": { "start": { "line": 58, "column": 53 }, "end": { "line": 58, "column": 54 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale", "start": 1281, "end": 1286, "loc": { "start": { "line": 58, "column": 54 }, "end": { "line": 58, "column": 59 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1286, "end": 1287, "loc": { "start": { "line": 58, "column": 59 }, "end": { "line": 58, "column": 60 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 1290, "end": 1295, "loc": { "start": { "line": 59, "column": 2 }, "end": { "line": 59, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_min_x", "start": 1296, "end": 1306, "loc": { "start": { "line": 59, "column": 8 }, "end": { "line": 59, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1307, "end": 1308, "loc": { "start": { "line": 59, "column": 19 }, "end": { "line": 59, "column": 20 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1309, "end": 1310, "loc": { "start": { "line": 59, "column": 21 }, "end": { "line": 59, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygon", "start": 1310, "end": 1317, "loc": { "start": { "line": 59, "column": 22 }, "end": { "line": 59, "column": 29 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1318, "end": 1319, "loc": { "start": { "line": 59, "column": 30 }, "end": { "line": 59, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1320, "end": 1324, "loc": { "start": { "line": 59, "column": 32 }, "end": { "line": 59, "column": 36 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1324, "end": 1325, "loc": { "start": { "line": 59, "column": 36 }, "end": { "line": 59, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_min_x", "start": 1325, "end": 1331, "loc": { "start": { "line": 59, "column": 37 }, "end": { "line": 59, "column": 43 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1332, "end": 1333, "loc": { "start": { "line": 59, "column": 44 }, "end": { "line": 59, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_x", "start": 1334, "end": 1340, "loc": { "start": { "line": 59, "column": 46 }, "end": { "line": 59, "column": 52 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 1341, "end": 1342, "loc": { "start": { "line": 59, "column": 53 }, "end": { "line": 59, "column": 54 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 1343, "end": 1349, "loc": { "start": { "line": 59, "column": 55 }, "end": { "line": 59, "column": 61 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1349, "end": 1350, "loc": { "start": { "line": 59, "column": 61 }, "end": { "line": 59, "column": 62 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 1351, "end": 1352, "loc": { "start": { "line": 59, "column": 63 }, "end": { "line": 59, "column": 64 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 1353, "end": 1360, "loc": { "start": { "line": 59, "column": 65 }, "end": { "line": 59, "column": 72 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1360, "end": 1361, "loc": { "start": { "line": 59, "column": 72 }, "end": { "line": 59, "column": 73 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 1364, "end": 1369, "loc": { "start": { "line": 60, "column": 2 }, "end": { "line": 60, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_min_y", "start": 1370, "end": 1380, "loc": { "start": { "line": 60, "column": 8 }, "end": { "line": 60, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1381, "end": 1382, "loc": { "start": { "line": 60, "column": 19 }, "end": { "line": 60, "column": 20 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1383, "end": 1384, "loc": { "start": { "line": 60, "column": 21 }, "end": { "line": 60, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygon", "start": 1384, "end": 1391, "loc": { "start": { "line": 60, "column": 22 }, "end": { "line": 60, "column": 29 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1392, "end": 1393, "loc": { "start": { "line": 60, "column": 30 }, "end": { "line": 60, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1394, "end": 1398, "loc": { "start": { "line": 60, "column": 32 }, "end": { "line": 60, "column": 36 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1398, "end": 1399, "loc": { "start": { "line": 60, "column": 36 }, "end": { "line": 60, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_min_y", "start": 1399, "end": 1405, "loc": { "start": { "line": 60, "column": 37 }, "end": { "line": 60, "column": 43 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1406, "end": 1407, "loc": { "start": { "line": 60, "column": 44 }, "end": { "line": 60, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_y", "start": 1408, "end": 1414, "loc": { "start": { "line": 60, "column": 46 }, "end": { "line": 60, "column": 52 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 1415, "end": 1416, "loc": { "start": { "line": 60, "column": 53 }, "end": { "line": 60, "column": 54 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 1417, "end": 1423, "loc": { "start": { "line": 60, "column": 55 }, "end": { "line": 60, "column": 61 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1423, "end": 1424, "loc": { "start": { "line": 60, "column": 61 }, "end": { "line": 60, "column": 62 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 1425, "end": 1426, "loc": { "start": { "line": 60, "column": 63 }, "end": { "line": 60, "column": 64 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 1427, "end": 1434, "loc": { "start": { "line": 60, "column": 65 }, "end": { "line": 60, "column": 72 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1434, "end": 1435, "loc": { "start": { "line": 60, "column": 72 }, "end": { "line": 60, "column": 73 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 1438, "end": 1443, "loc": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_max_x", "start": 1444, "end": 1454, "loc": { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1455, "end": 1456, "loc": { "start": { "line": 61, "column": 19 }, "end": { "line": 61, "column": 20 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1457, "end": 1458, "loc": { "start": { "line": 61, "column": 21 }, "end": { "line": 61, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygon", "start": 1458, "end": 1465, "loc": { "start": { "line": 61, "column": 22 }, "end": { "line": 61, "column": 29 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1466, "end": 1467, "loc": { "start": { "line": 61, "column": 30 }, "end": { "line": 61, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1468, "end": 1472, "loc": { "start": { "line": 61, "column": 32 }, "end": { "line": 61, "column": 36 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1472, "end": 1473, "loc": { "start": { "line": 61, "column": 36 }, "end": { "line": 61, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_max_x", "start": 1473, "end": 1479, "loc": { "start": { "line": 61, "column": 37 }, "end": { "line": 61, "column": 43 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1480, "end": 1481, "loc": { "start": { "line": 61, "column": 44 }, "end": { "line": 61, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_x", "start": 1482, "end": 1488, "loc": { "start": { "line": 61, "column": 46 }, "end": { "line": 61, "column": 52 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 1489, "end": 1490, "loc": { "start": { "line": 61, "column": 53 }, "end": { "line": 61, "column": 54 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 1491, "end": 1497, "loc": { "start": { "line": 61, "column": 55 }, "end": { "line": 61, "column": 61 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1497, "end": 1498, "loc": { "start": { "line": 61, "column": 61 }, "end": { "line": 61, "column": 62 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 1499, "end": 1500, "loc": { "start": { "line": 61, "column": 63 }, "end": { "line": 61, "column": 64 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 1501, "end": 1508, "loc": { "start": { "line": 61, "column": 65 }, "end": { "line": 61, "column": 72 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1508, "end": 1509, "loc": { "start": { "line": 61, "column": 72 }, "end": { "line": 61, "column": 73 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 1512, "end": 1517, "loc": { "start": { "line": 62, "column": 2 }, "end": { "line": 62, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_max_y", "start": 1518, "end": 1528, "loc": { "start": { "line": 62, "column": 8 }, "end": { "line": 62, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1529, "end": 1530, "loc": { "start": { "line": 62, "column": 19 }, "end": { "line": 62, "column": 20 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1531, "end": 1532, "loc": { "start": { "line": 62, "column": 21 }, "end": { "line": 62, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygon", "start": 1532, "end": 1539, "loc": { "start": { "line": 62, "column": 22 }, "end": { "line": 62, "column": 29 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1540, "end": 1541, "loc": { "start": { "line": 62, "column": 30 }, "end": { "line": 62, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1542, "end": 1546, "loc": { "start": { "line": 62, "column": 32 }, "end": { "line": 62, "column": 36 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1546, "end": 1547, "loc": { "start": { "line": 62, "column": 36 }, "end": { "line": 62, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_max_y", "start": 1547, "end": 1553, "loc": { "start": { "line": 62, "column": 37 }, "end": { "line": 62, "column": 43 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1554, "end": 1555, "loc": { "start": { "line": 62, "column": 44 }, "end": { "line": 62, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_y", "start": 1556, "end": 1562, "loc": { "start": { "line": 62, "column": 46 }, "end": { "line": 62, "column": 52 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 1563, "end": 1564, "loc": { "start": { "line": 62, "column": 53 }, "end": { "line": 62, "column": 54 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 1565, "end": 1571, "loc": { "start": { "line": 62, "column": 55 }, "end": { "line": 62, "column": 61 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1571, "end": 1572, "loc": { "start": { "line": 62, "column": 61 }, "end": { "line": 62, "column": 62 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 1573, "end": 1574, "loc": { "start": { "line": 62, "column": 63 }, "end": { "line": 62, "column": 64 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 1575, "end": 1582, "loc": { "start": { "line": 62, "column": 65 }, "end": { "line": 62, "column": 72 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1582, "end": 1583, "loc": { "start": { "line": 62, "column": 72 }, "end": { "line": 62, "column": 73 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1587, "end": 1591, "loc": { "start": { "line": 64, "column": 2 }, "end": { "line": 64, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1591, "end": 1592, "loc": { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 1592, "end": 1602, "loc": { "start": { "line": 64, "column": 7 }, "end": { "line": 64, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1603, "end": 1604, "loc": { "start": { "line": 64, "column": 18 }, "end": { "line": 64, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_min_x", "start": 1605, "end": 1615, "loc": { "start": { "line": 64, "column": 20 }, "end": { "line": 64, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1615, "end": 1616, "loc": { "start": { "line": 64, "column": 30 }, "end": { "line": 64, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1619, "end": 1623, "loc": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1623, "end": 1624, "loc": { "start": { "line": 65, "column": 6 }, "end": { "line": 65, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_y", "start": 1624, "end": 1634, "loc": { "start": { "line": 65, "column": 7 }, "end": { "line": 65, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1635, "end": 1636, "loc": { "start": { "line": 65, "column": 18 }, "end": { "line": 65, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_min_y", "start": 1637, "end": 1647, "loc": { "start": { "line": 65, "column": 20 }, "end": { "line": 65, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1647, "end": 1648, "loc": { "start": { "line": 65, "column": 30 }, "end": { "line": 65, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1651, "end": 1655, "loc": { "start": { "line": 66, "column": 2 }, "end": { "line": 66, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1655, "end": 1656, "loc": { "start": { "line": 66, "column": 6 }, "end": { "line": 66, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_x", "start": 1656, "end": 1666, "loc": { "start": { "line": 66, "column": 7 }, "end": { "line": 66, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1667, "end": 1668, "loc": { "start": { "line": 66, "column": 18 }, "end": { "line": 66, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_max_x", "start": 1669, "end": 1679, "loc": { "start": { "line": 66, "column": 20 }, "end": { "line": 66, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1679, "end": 1680, "loc": { "start": { "line": 66, "column": 30 }, "end": { "line": 66, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1683, "end": 1687, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1687, "end": 1688, "loc": { "start": { "line": 67, "column": 6 }, "end": { "line": 67, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_y", "start": 1688, "end": 1698, "loc": { "start": { "line": 67, "column": 7 }, "end": { "line": 67, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1699, "end": 1700, "loc": { "start": { "line": 67, "column": 18 }, "end": { "line": 67, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_max_y", "start": 1701, "end": 1711, "loc": { "start": { "line": 67, "column": 20 }, "end": { "line": 67, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1711, "end": 1712, "loc": { "start": { "line": 67, "column": 30 }, "end": { "line": 67, "column": 31 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 1716, "end": 1719, "loc": { "start": { "line": 69, "column": 2 }, "end": { "line": 69, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 1720, "end": 1727, "loc": { "start": { "line": 69, "column": 6 }, "end": { "line": 69, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1728, "end": 1729, "loc": { "start": { "line": 69, "column": 14 }, "end": { "line": 69, "column": 15 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1730, "end": 1734, "loc": { "start": { "line": 69, "column": 16 }, "end": { "line": 69, "column": 20 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1734, "end": 1735, "loc": { "start": { "line": 69, "column": 20 }, "end": { "line": 69, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_hierarchy", "start": 1735, "end": 1745, "loc": { "start": { "line": 69, "column": 21 }, "end": { "line": 69, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1745, "end": 1746, "loc": { "start": { "line": 69, "column": 31 }, "end": { "line": 69, "column": 32 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 1749, "end": 1752, "loc": { "start": { "line": 70, "column": 2 }, "end": { "line": 70, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sort", "start": 1753, "end": 1757, "loc": { "start": { "line": 70, "column": 6 }, "end": { "line": 70, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1761, "end": 1762, "loc": { "start": { "line": 70, "column": 14 }, "end": { "line": 70, "column": 15 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1763, "end": 1764, "loc": { "start": { "line": 70, "column": 16 }, "end": { "line": 70, "column": 17 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1764, "end": 1765, "loc": { "start": { "line": 70, "column": 17 }, "end": { "line": 70, "column": 18 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 1769, "end": 1771, "loc": { "start": { "line": 72, "column": 2 }, "end": { "line": 72, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1771, "end": 1772, "loc": { "start": { "line": 72, "column": 4 }, "end": { "line": 72, "column": 5 } } }, { "type": { "label": "prefix", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": null, "updateContext": null }, "value": "!", "start": 1772, "end": 1773, "loc": { "start": { "line": 72, "column": 5 }, "end": { "line": 72, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 1773, "end": 1780, "loc": { "start": { "line": 72, "column": 6 }, "end": { "line": 72, "column": 13 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1780, "end": 1781, "loc": { "start": { "line": 72, "column": 13 }, "end": { "line": 72, "column": 14 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1782, "end": 1783, "loc": { "start": { "line": 72, "column": 15 }, "end": { "line": 72, "column": 16 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1787, "end": 1791, "loc": { "start": { "line": 73, "column": 3 }, "end": { "line": 73, "column": 7 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1791, "end": 1792, "loc": { "start": { "line": 73, "column": 7 }, "end": { "line": 73, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_hierarchy", "start": 1792, "end": 1802, "loc": { "start": { "line": 73, "column": 8 }, "end": { "line": 73, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1803, "end": 1804, "loc": { "start": { "line": 73, "column": 19 }, "end": { "line": 73, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 1805, "end": 1809, "loc": { "start": { "line": 73, "column": 21 }, "end": { "line": 73, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1809, "end": 1810, "loc": { "start": { "line": 73, "column": 25 }, "end": { "line": 73, "column": 26 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1813, "end": 1814, "loc": { "start": { "line": 74, "column": 2 }, "end": { "line": 74, "column": 3 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 1817, "end": 1821, "loc": { "start": { "line": 75, "column": 2 }, "end": { "line": 75, "column": 6 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1822, "end": 1823, "loc": { "start": { "line": 75, "column": 7 }, "end": { "line": 75, "column": 8 } } }, { "type": { "label": "while", "keyword": "while", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "while", "start": 1827, "end": 1832, "loc": { "start": { "line": 76, "column": 3 }, "end": { "line": 76, "column": 8 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1832, "end": 1833, "loc": { "start": { "line": 76, "column": 8 }, "end": { "line": 76, "column": 9 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 1833, "end": 1837, "loc": { "start": { "line": 76, "column": 9 }, "end": { "line": 76, "column": 13 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1837, "end": 1838, "loc": { "start": { "line": 76, "column": 13 }, "end": { "line": 76, "column": 14 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1839, "end": 1840, "loc": { "start": { "line": 76, "column": 15 }, "end": { "line": 76, "column": 16 } } }, { "type": "CommentLine", "value": " Branch", "start": 1845, "end": 1854, "loc": { "start": { "line": 77, "column": 4 }, "end": { "line": 77, "column": 13 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 1859, "end": 1861, "loc": { "start": { "line": 78, "column": 4 }, "end": { "line": 78, "column": 6 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1861, "end": 1862, "loc": { "start": { "line": 78, "column": 6 }, "end": { "line": 78, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 1862, "end": 1869, "loc": { "start": { "line": 78, "column": 7 }, "end": { "line": 78, "column": 14 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1869, "end": 1870, "loc": { "start": { "line": 78, "column": 14 }, "end": { "line": 78, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_branch", "start": 1870, "end": 1881, "loc": { "start": { "line": 78, "column": 15 }, "end": { "line": 78, "column": 26 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1881, "end": 1882, "loc": { "start": { "line": 78, "column": 26 }, "end": { "line": 78, "column": 27 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1883, "end": 1884, "loc": { "start": { "line": 78, "column": 28 }, "end": { "line": 78, "column": 29 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 1890, "end": 1895, "loc": { "start": { "line": 79, "column": 5 }, "end": { "line": 79, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 1896, "end": 1900, "loc": { "start": { "line": 79, "column": 11 }, "end": { "line": 79, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1912, "end": 1913, "loc": { "start": { "line": 79, "column": 27 }, "end": { "line": 79, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 1914, "end": 1921, "loc": { "start": { "line": 79, "column": 29 }, "end": { "line": 79, "column": 36 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1921, "end": 1922, "loc": { "start": { "line": 79, "column": 36 }, "end": { "line": 79, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_left", "start": 1922, "end": 1931, "loc": { "start": { "line": 79, "column": 37 }, "end": { "line": 79, "column": 46 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1931, "end": 1932, "loc": { "start": { "line": 79, "column": 46 }, "end": { "line": 79, "column": 47 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 1938, "end": 1943, "loc": { "start": { "line": 80, "column": 5 }, "end": { "line": 80, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_min_y", "start": 1944, "end": 1954, "loc": { "start": { "line": 80, "column": 11 }, "end": { "line": 80, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1960, "end": 1961, "loc": { "start": { "line": 80, "column": 27 }, "end": { "line": 80, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 1962, "end": 1966, "loc": { "start": { "line": 80, "column": 29 }, "end": { "line": 80, "column": 33 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1966, "end": 1967, "loc": { "start": { "line": 80, "column": 33 }, "end": { "line": 80, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_y", "start": 1967, "end": 1977, "loc": { "start": { "line": 80, "column": 34 }, "end": { "line": 80, "column": 44 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1977, "end": 1978, "loc": { "start": { "line": 80, "column": 44 }, "end": { "line": 80, "column": 45 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 1984, "end": 1989, "loc": { "start": { "line": 81, "column": 5 }, "end": { "line": 81, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_max_x", "start": 1990, "end": 2000, "loc": { "start": { "line": 81, "column": 11 }, "end": { "line": 81, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2006, "end": 2007, "loc": { "start": { "line": 81, "column": 27 }, "end": { "line": 81, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 2008, "end": 2012, "loc": { "start": { "line": 81, "column": 29 }, "end": { "line": 81, "column": 33 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2012, "end": 2013, "loc": { "start": { "line": 81, "column": 33 }, "end": { "line": 81, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_x", "start": 2013, "end": 2023, "loc": { "start": { "line": 81, "column": 34 }, "end": { "line": 81, "column": 44 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2023, "end": 2024, "loc": { "start": { "line": 81, "column": 44 }, "end": { "line": 81, "column": 45 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2030, "end": 2035, "loc": { "start": { "line": 82, "column": 5 }, "end": { "line": 82, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_max_y", "start": 2036, "end": 2046, "loc": { "start": { "line": 82, "column": 11 }, "end": { "line": 82, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2052, "end": 2053, "loc": { "start": { "line": 82, "column": 27 }, "end": { "line": 82, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 2054, "end": 2058, "loc": { "start": { "line": 82, "column": 29 }, "end": { "line": 82, "column": 33 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2058, "end": 2059, "loc": { "start": { "line": 82, "column": 33 }, "end": { "line": 82, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_y", "start": 2059, "end": 2069, "loc": { "start": { "line": 82, "column": 34 }, "end": { "line": 82, "column": 44 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2069, "end": 2070, "loc": { "start": { "line": 82, "column": 44 }, "end": { "line": 82, "column": 45 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2076, "end": 2081, "loc": { "start": { "line": 83, "column": 5 }, "end": { "line": 83, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_min_x", "start": 2082, "end": 2096, "loc": { "start": { "line": 83, "column": 11 }, "end": { "line": 83, "column": 25 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2098, "end": 2099, "loc": { "start": { "line": 83, "column": 27 }, "end": { "line": 83, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_min_x", "start": 2100, "end": 2110, "loc": { "start": { "line": 83, "column": 29 }, "end": { "line": 83, "column": 39 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 2111, "end": 2112, "loc": { "start": { "line": 83, "column": 40 }, "end": { "line": 83, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 2113, "end": 2117, "loc": { "start": { "line": 83, "column": 42 }, "end": { "line": 83, "column": 46 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2117, "end": 2118, "loc": { "start": { "line": 83, "column": 46 }, "end": { "line": 83, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 2118, "end": 2128, "loc": { "start": { "line": 83, "column": 47 }, "end": { "line": 83, "column": 57 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2129, "end": 2130, "loc": { "start": { "line": 83, "column": 58 }, "end": { "line": 83, "column": 59 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_min_x", "start": 2131, "end": 2141, "loc": { "start": { "line": 83, "column": 60 }, "end": { "line": 83, "column": 70 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2142, "end": 2143, "loc": { "start": { "line": 83, "column": 71 }, "end": { "line": 83, "column": 72 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 2144, "end": 2148, "loc": { "start": { "line": 83, "column": 73 }, "end": { "line": 83, "column": 77 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2148, "end": 2149, "loc": { "start": { "line": 83, "column": 77 }, "end": { "line": 83, "column": 78 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 2149, "end": 2159, "loc": { "start": { "line": 83, "column": 78 }, "end": { "line": 83, "column": 88 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2159, "end": 2160, "loc": { "start": { "line": 83, "column": 88 }, "end": { "line": 83, "column": 89 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2166, "end": 2171, "loc": { "start": { "line": 84, "column": 5 }, "end": { "line": 84, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_min_y", "start": 2172, "end": 2186, "loc": { "start": { "line": 84, "column": 11 }, "end": { "line": 84, "column": 25 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2188, "end": 2189, "loc": { "start": { "line": 84, "column": 27 }, "end": { "line": 84, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_min_y", "start": 2190, "end": 2200, "loc": { "start": { "line": 84, "column": 29 }, "end": { "line": 84, "column": 39 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 2201, "end": 2202, "loc": { "start": { "line": 84, "column": 40 }, "end": { "line": 84, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_min_y", "start": 2203, "end": 2213, "loc": { "start": { "line": 84, "column": 42 }, "end": { "line": 84, "column": 52 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2214, "end": 2215, "loc": { "start": { "line": 84, "column": 53 }, "end": { "line": 84, "column": 54 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_min_y", "start": 2216, "end": 2226, "loc": { "start": { "line": 84, "column": 55 }, "end": { "line": 84, "column": 65 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2227, "end": 2228, "loc": { "start": { "line": 84, "column": 66 }, "end": { "line": 84, "column": 67 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_min_y", "start": 2229, "end": 2239, "loc": { "start": { "line": 84, "column": 68 }, "end": { "line": 84, "column": 78 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2239, "end": 2240, "loc": { "start": { "line": 84, "column": 78 }, "end": { "line": 84, "column": 79 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2246, "end": 2251, "loc": { "start": { "line": 85, "column": 5 }, "end": { "line": 85, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_max_x", "start": 2252, "end": 2266, "loc": { "start": { "line": 85, "column": 11 }, "end": { "line": 85, "column": 25 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2268, "end": 2269, "loc": { "start": { "line": 85, "column": 27 }, "end": { "line": 85, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_max_x", "start": 2270, "end": 2280, "loc": { "start": { "line": 85, "column": 29 }, "end": { "line": 85, "column": 39 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 2281, "end": 2282, "loc": { "start": { "line": 85, "column": 40 }, "end": { "line": 85, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_max_x", "start": 2283, "end": 2293, "loc": { "start": { "line": 85, "column": 42 }, "end": { "line": 85, "column": 52 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2294, "end": 2295, "loc": { "start": { "line": 85, "column": 53 }, "end": { "line": 85, "column": 54 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_max_x", "start": 2296, "end": 2306, "loc": { "start": { "line": 85, "column": 55 }, "end": { "line": 85, "column": 65 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2307, "end": 2308, "loc": { "start": { "line": 85, "column": 66 }, "end": { "line": 85, "column": 67 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_max_x", "start": 2309, "end": 2319, "loc": { "start": { "line": 85, "column": 68 }, "end": { "line": 85, "column": 78 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2319, "end": 2320, "loc": { "start": { "line": 85, "column": 78 }, "end": { "line": 85, "column": 79 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2326, "end": 2331, "loc": { "start": { "line": 86, "column": 5 }, "end": { "line": 86, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_max_y", "start": 2332, "end": 2346, "loc": { "start": { "line": 86, "column": 11 }, "end": { "line": 86, "column": 25 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2348, "end": 2349, "loc": { "start": { "line": 86, "column": 27 }, "end": { "line": 86, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_max_y", "start": 2350, "end": 2360, "loc": { "start": { "line": 86, "column": 29 }, "end": { "line": 86, "column": 39 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 2361, "end": 2362, "loc": { "start": { "line": 86, "column": 40 }, "end": { "line": 86, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_max_y", "start": 2363, "end": 2373, "loc": { "start": { "line": 86, "column": 42 }, "end": { "line": 86, "column": 52 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2374, "end": 2375, "loc": { "start": { "line": 86, "column": 53 }, "end": { "line": 86, "column": 54 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_max_y", "start": 2376, "end": 2386, "loc": { "start": { "line": 86, "column": 55 }, "end": { "line": 86, "column": 65 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2387, "end": 2388, "loc": { "start": { "line": 86, "column": 66 }, "end": { "line": 86, "column": 67 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_max_y", "start": 2389, "end": 2399, "loc": { "start": { "line": 86, "column": 68 }, "end": { "line": 86, "column": 78 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2399, "end": 2400, "loc": { "start": { "line": 86, "column": 78 }, "end": { "line": 86, "column": 79 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2406, "end": 2411, "loc": { "start": { "line": 87, "column": 5 }, "end": { "line": 87, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_volume", "start": 2412, "end": 2423, "loc": { "start": { "line": 87, "column": 11 }, "end": { "line": 87, "column": 22 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2428, "end": 2429, "loc": { "start": { "line": 87, "column": 27 }, "end": { "line": 87, "column": 28 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2430, "end": 2431, "loc": { "start": { "line": 87, "column": 29 }, "end": { "line": 87, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_max_x", "start": 2431, "end": 2441, "loc": { "start": { "line": 87, "column": 30 }, "end": { "line": 87, "column": 40 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 2442, "end": 2443, "loc": { "start": { "line": 87, "column": 41 }, "end": { "line": 87, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 2444, "end": 2448, "loc": { "start": { "line": 87, "column": 43 }, "end": { "line": 87, "column": 47 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2448, "end": 2449, "loc": { "start": { "line": 87, "column": 47 }, "end": { "line": 87, "column": 48 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 2449, "end": 2459, "loc": { "start": { "line": 87, "column": 48 }, "end": { "line": 87, "column": 58 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2459, "end": 2460, "loc": { "start": { "line": 87, "column": 58 }, "end": { "line": 87, "column": 59 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 2461, "end": 2462, "loc": { "start": { "line": 87, "column": 60 }, "end": { "line": 87, "column": 61 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2463, "end": 2464, "loc": { "start": { "line": 87, "column": 62 }, "end": { "line": 87, "column": 63 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_max_y", "start": 2464, "end": 2474, "loc": { "start": { "line": 87, "column": 63 }, "end": { "line": 87, "column": 73 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 2475, "end": 2476, "loc": { "start": { "line": 87, "column": 74 }, "end": { "line": 87, "column": 75 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_min_y", "start": 2477, "end": 2487, "loc": { "start": { "line": 87, "column": 76 }, "end": { "line": 87, "column": 86 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2487, "end": 2488, "loc": { "start": { "line": 87, "column": 86 }, "end": { "line": 87, "column": 87 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2488, "end": 2489, "loc": { "start": { "line": 87, "column": 87 }, "end": { "line": 87, "column": 88 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2495, "end": 2500, "loc": { "start": { "line": 88, "column": 5 }, "end": { "line": 88, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_volume", "start": 2501, "end": 2516, "loc": { "start": { "line": 88, "column": 11 }, "end": { "line": 88, "column": 26 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2517, "end": 2518, "loc": { "start": { "line": 88, "column": 27 }, "end": { "line": 88, "column": 28 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2519, "end": 2520, "loc": { "start": { "line": 88, "column": 29 }, "end": { "line": 88, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_max_x", "start": 2520, "end": 2534, "loc": { "start": { "line": 88, "column": 30 }, "end": { "line": 88, "column": 44 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 2535, "end": 2536, "loc": { "start": { "line": 88, "column": 45 }, "end": { "line": 88, "column": 46 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_min_x", "start": 2537, "end": 2551, "loc": { "start": { "line": 88, "column": 47 }, "end": { "line": 88, "column": 61 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2551, "end": 2552, "loc": { "start": { "line": 88, "column": 61 }, "end": { "line": 88, "column": 62 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 2553, "end": 2554, "loc": { "start": { "line": 88, "column": 63 }, "end": { "line": 88, "column": 64 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2555, "end": 2556, "loc": { "start": { "line": 88, "column": 65 }, "end": { "line": 88, "column": 66 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_max_y", "start": 2556, "end": 2570, "loc": { "start": { "line": 88, "column": 66 }, "end": { "line": 88, "column": 80 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 2571, "end": 2572, "loc": { "start": { "line": 88, "column": 81 }, "end": { "line": 88, "column": 82 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_min_y", "start": 2573, "end": 2587, "loc": { "start": { "line": 88, "column": 83 }, "end": { "line": 88, "column": 97 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2587, "end": 2588, "loc": { "start": { "line": 88, "column": 97 }, "end": { "line": 88, "column": 98 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2588, "end": 2589, "loc": { "start": { "line": 88, "column": 98 }, "end": { "line": 88, "column": 99 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2595, "end": 2600, "loc": { "start": { "line": 89, "column": 5 }, "end": { "line": 89, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_difference", "start": 2601, "end": 2616, "loc": { "start": { "line": 89, "column": 11 }, "end": { "line": 89, "column": 26 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2617, "end": 2618, "loc": { "start": { "line": 89, "column": 27 }, "end": { "line": 89, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_volume", "start": 2619, "end": 2634, "loc": { "start": { "line": 89, "column": 29 }, "end": { "line": 89, "column": 44 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 2635, "end": 2636, "loc": { "start": { "line": 89, "column": 45 }, "end": { "line": 89, "column": 46 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_volume", "start": 2637, "end": 2648, "loc": { "start": { "line": 89, "column": 47 }, "end": { "line": 89, "column": 58 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2648, "end": 2649, "loc": { "start": { "line": 89, "column": 58 }, "end": { "line": 89, "column": 59 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2656, "end": 2661, "loc": { "start": { "line": 91, "column": 5 }, "end": { "line": 91, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 2662, "end": 2667, "loc": { "start": { "line": 91, "column": 11 }, "end": { "line": 91, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2679, "end": 2680, "loc": { "start": { "line": 91, "column": 28 }, "end": { "line": 91, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 2681, "end": 2688, "loc": { "start": { "line": 91, "column": 30 }, "end": { "line": 91, "column": 37 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2688, "end": 2689, "loc": { "start": { "line": 91, "column": 37 }, "end": { "line": 91, "column": 38 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_right", "start": 2689, "end": 2699, "loc": { "start": { "line": 91, "column": 38 }, "end": { "line": 91, "column": 48 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2699, "end": 2700, "loc": { "start": { "line": 91, "column": 48 }, "end": { "line": 91, "column": 49 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2706, "end": 2711, "loc": { "start": { "line": 92, "column": 5 }, "end": { "line": 92, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_min_x", "start": 2712, "end": 2723, "loc": { "start": { "line": 92, "column": 11 }, "end": { "line": 92, "column": 22 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2729, "end": 2730, "loc": { "start": { "line": 92, "column": 28 }, "end": { "line": 92, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 2731, "end": 2736, "loc": { "start": { "line": 92, "column": 30 }, "end": { "line": 92, "column": 35 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2736, "end": 2737, "loc": { "start": { "line": 92, "column": 35 }, "end": { "line": 92, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 2737, "end": 2747, "loc": { "start": { "line": 92, "column": 36 }, "end": { "line": 92, "column": 46 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2747, "end": 2748, "loc": { "start": { "line": 92, "column": 46 }, "end": { "line": 92, "column": 47 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2754, "end": 2759, "loc": { "start": { "line": 93, "column": 5 }, "end": { "line": 93, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_min_y", "start": 2760, "end": 2771, "loc": { "start": { "line": 93, "column": 11 }, "end": { "line": 93, "column": 22 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2777, "end": 2778, "loc": { "start": { "line": 93, "column": 28 }, "end": { "line": 93, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 2779, "end": 2784, "loc": { "start": { "line": 93, "column": 30 }, "end": { "line": 93, "column": 35 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2784, "end": 2785, "loc": { "start": { "line": 93, "column": 35 }, "end": { "line": 93, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_y", "start": 2785, "end": 2795, "loc": { "start": { "line": 93, "column": 36 }, "end": { "line": 93, "column": 46 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2795, "end": 2796, "loc": { "start": { "line": 93, "column": 46 }, "end": { "line": 93, "column": 47 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2802, "end": 2807, "loc": { "start": { "line": 94, "column": 5 }, "end": { "line": 94, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_max_x", "start": 2808, "end": 2819, "loc": { "start": { "line": 94, "column": 11 }, "end": { "line": 94, "column": 22 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2825, "end": 2826, "loc": { "start": { "line": 94, "column": 28 }, "end": { "line": 94, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 2827, "end": 2832, "loc": { "start": { "line": 94, "column": 30 }, "end": { "line": 94, "column": 35 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2832, "end": 2833, "loc": { "start": { "line": 94, "column": 35 }, "end": { "line": 94, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_x", "start": 2833, "end": 2843, "loc": { "start": { "line": 94, "column": 36 }, "end": { "line": 94, "column": 46 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2843, "end": 2844, "loc": { "start": { "line": 94, "column": 46 }, "end": { "line": 94, "column": 47 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2850, "end": 2855, "loc": { "start": { "line": 95, "column": 5 }, "end": { "line": 95, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_max_y", "start": 2856, "end": 2867, "loc": { "start": { "line": 95, "column": 11 }, "end": { "line": 95, "column": 22 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2873, "end": 2874, "loc": { "start": { "line": 95, "column": 28 }, "end": { "line": 95, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 2875, "end": 2880, "loc": { "start": { "line": 95, "column": 30 }, "end": { "line": 95, "column": 35 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2880, "end": 2881, "loc": { "start": { "line": 95, "column": 35 }, "end": { "line": 95, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_y", "start": 2881, "end": 2891, "loc": { "start": { "line": 95, "column": 36 }, "end": { "line": 95, "column": 46 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2891, "end": 2892, "loc": { "start": { "line": 95, "column": 46 }, "end": { "line": 95, "column": 47 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2898, "end": 2903, "loc": { "start": { "line": 96, "column": 5 }, "end": { "line": 96, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_min_x", "start": 2904, "end": 2919, "loc": { "start": { "line": 96, "column": 11 }, "end": { "line": 96, "column": 26 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2921, "end": 2922, "loc": { "start": { "line": 96, "column": 28 }, "end": { "line": 96, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_min_x", "start": 2923, "end": 2933, "loc": { "start": { "line": 96, "column": 30 }, "end": { "line": 96, "column": 40 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 2934, "end": 2935, "loc": { "start": { "line": 96, "column": 41 }, "end": { "line": 96, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_min_x", "start": 2936, "end": 2947, "loc": { "start": { "line": 96, "column": 43 }, "end": { "line": 96, "column": 54 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2948, "end": 2949, "loc": { "start": { "line": 96, "column": 55 }, "end": { "line": 96, "column": 56 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_min_x", "start": 2950, "end": 2960, "loc": { "start": { "line": 96, "column": 57 }, "end": { "line": 96, "column": 67 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2961, "end": 2962, "loc": { "start": { "line": 96, "column": 68 }, "end": { "line": 96, "column": 69 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_min_x", "start": 2963, "end": 2974, "loc": { "start": { "line": 96, "column": 70 }, "end": { "line": 96, "column": 81 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2974, "end": 2975, "loc": { "start": { "line": 96, "column": 81 }, "end": { "line": 96, "column": 82 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2981, "end": 2986, "loc": { "start": { "line": 97, "column": 5 }, "end": { "line": 97, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_min_y", "start": 2987, "end": 3002, "loc": { "start": { "line": 97, "column": 11 }, "end": { "line": 97, "column": 26 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3004, "end": 3005, "loc": { "start": { "line": 97, "column": 28 }, "end": { "line": 97, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_min_y", "start": 3006, "end": 3016, "loc": { "start": { "line": 97, "column": 30 }, "end": { "line": 97, "column": 40 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 3017, "end": 3018, "loc": { "start": { "line": 97, "column": 41 }, "end": { "line": 97, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_min_y", "start": 3019, "end": 3030, "loc": { "start": { "line": 97, "column": 43 }, "end": { "line": 97, "column": 54 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3031, "end": 3032, "loc": { "start": { "line": 97, "column": 55 }, "end": { "line": 97, "column": 56 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_min_y", "start": 3033, "end": 3043, "loc": { "start": { "line": 97, "column": 57 }, "end": { "line": 97, "column": 67 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3044, "end": 3045, "loc": { "start": { "line": 97, "column": 68 }, "end": { "line": 97, "column": 69 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_min_y", "start": 3046, "end": 3057, "loc": { "start": { "line": 97, "column": 70 }, "end": { "line": 97, "column": 81 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3057, "end": 3058, "loc": { "start": { "line": 97, "column": 81 }, "end": { "line": 97, "column": 82 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3064, "end": 3069, "loc": { "start": { "line": 98, "column": 5 }, "end": { "line": 98, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_max_x", "start": 3070, "end": 3085, "loc": { "start": { "line": 98, "column": 11 }, "end": { "line": 98, "column": 26 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3087, "end": 3088, "loc": { "start": { "line": 98, "column": 28 }, "end": { "line": 98, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_max_x", "start": 3089, "end": 3099, "loc": { "start": { "line": 98, "column": 30 }, "end": { "line": 98, "column": 40 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 3100, "end": 3101, "loc": { "start": { "line": 98, "column": 41 }, "end": { "line": 98, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_max_x", "start": 3102, "end": 3113, "loc": { "start": { "line": 98, "column": 43 }, "end": { "line": 98, "column": 54 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3114, "end": 3115, "loc": { "start": { "line": 98, "column": 55 }, "end": { "line": 98, "column": 56 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_max_x", "start": 3116, "end": 3126, "loc": { "start": { "line": 98, "column": 57 }, "end": { "line": 98, "column": 67 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3127, "end": 3128, "loc": { "start": { "line": 98, "column": 68 }, "end": { "line": 98, "column": 69 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_max_x", "start": 3129, "end": 3140, "loc": { "start": { "line": 98, "column": 70 }, "end": { "line": 98, "column": 81 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3140, "end": 3141, "loc": { "start": { "line": 98, "column": 81 }, "end": { "line": 98, "column": 82 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3147, "end": 3152, "loc": { "start": { "line": 99, "column": 5 }, "end": { "line": 99, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_max_y", "start": 3153, "end": 3168, "loc": { "start": { "line": 99, "column": 11 }, "end": { "line": 99, "column": 26 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3170, "end": 3171, "loc": { "start": { "line": 99, "column": 28 }, "end": { "line": 99, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_max_y", "start": 3172, "end": 3182, "loc": { "start": { "line": 99, "column": 30 }, "end": { "line": 99, "column": 40 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 3183, "end": 3184, "loc": { "start": { "line": 99, "column": 41 }, "end": { "line": 99, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_max_y", "start": 3185, "end": 3196, "loc": { "start": { "line": 99, "column": 43 }, "end": { "line": 99, "column": 54 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3197, "end": 3198, "loc": { "start": { "line": 99, "column": 55 }, "end": { "line": 99, "column": 56 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_max_y", "start": 3199, "end": 3209, "loc": { "start": { "line": 99, "column": 57 }, "end": { "line": 99, "column": 67 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3210, "end": 3211, "loc": { "start": { "line": 99, "column": 68 }, "end": { "line": 99, "column": 69 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_max_y", "start": 3212, "end": 3223, "loc": { "start": { "line": 99, "column": 70 }, "end": { "line": 99, "column": 81 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3223, "end": 3224, "loc": { "start": { "line": 99, "column": 81 }, "end": { "line": 99, "column": 82 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3230, "end": 3235, "loc": { "start": { "line": 100, "column": 5 }, "end": { "line": 100, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_volume", "start": 3236, "end": 3248, "loc": { "start": { "line": 100, "column": 11 }, "end": { "line": 100, "column": 23 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3253, "end": 3254, "loc": { "start": { "line": 100, "column": 28 }, "end": { "line": 100, "column": 29 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3255, "end": 3256, "loc": { "start": { "line": 100, "column": 30 }, "end": { "line": 100, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_max_x", "start": 3256, "end": 3267, "loc": { "start": { "line": 100, "column": 31 }, "end": { "line": 100, "column": 42 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 3268, "end": 3269, "loc": { "start": { "line": 100, "column": 43 }, "end": { "line": 100, "column": 44 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_min_x", "start": 3270, "end": 3281, "loc": { "start": { "line": 100, "column": 45 }, "end": { "line": 100, "column": 56 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3281, "end": 3282, "loc": { "start": { "line": 100, "column": 56 }, "end": { "line": 100, "column": 57 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 3283, "end": 3284, "loc": { "start": { "line": 100, "column": 58 }, "end": { "line": 100, "column": 59 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3285, "end": 3286, "loc": { "start": { "line": 100, "column": 60 }, "end": { "line": 100, "column": 61 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_max_y", "start": 3286, "end": 3297, "loc": { "start": { "line": 100, "column": 61 }, "end": { "line": 100, "column": 72 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 3298, "end": 3299, "loc": { "start": { "line": 100, "column": 73 }, "end": { "line": 100, "column": 74 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_min_y", "start": 3300, "end": 3311, "loc": { "start": { "line": 100, "column": 75 }, "end": { "line": 100, "column": 86 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3311, "end": 3312, "loc": { "start": { "line": 100, "column": 86 }, "end": { "line": 100, "column": 87 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3312, "end": 3313, "loc": { "start": { "line": 100, "column": 87 }, "end": { "line": 100, "column": 88 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3319, "end": 3324, "loc": { "start": { "line": 101, "column": 5 }, "end": { "line": 101, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_volume", "start": 3325, "end": 3341, "loc": { "start": { "line": 101, "column": 11 }, "end": { "line": 101, "column": 27 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3342, "end": 3343, "loc": { "start": { "line": 101, "column": 28 }, "end": { "line": 101, "column": 29 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3344, "end": 3345, "loc": { "start": { "line": 101, "column": 30 }, "end": { "line": 101, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_max_x", "start": 3345, "end": 3360, "loc": { "start": { "line": 101, "column": 31 }, "end": { "line": 101, "column": 46 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 3361, "end": 3362, "loc": { "start": { "line": 101, "column": 47 }, "end": { "line": 101, "column": 48 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_min_x", "start": 3363, "end": 3378, "loc": { "start": { "line": 101, "column": 49 }, "end": { "line": 101, "column": 64 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3378, "end": 3379, "loc": { "start": { "line": 101, "column": 64 }, "end": { "line": 101, "column": 65 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 3380, "end": 3381, "loc": { "start": { "line": 101, "column": 66 }, "end": { "line": 101, "column": 67 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3382, "end": 3383, "loc": { "start": { "line": 101, "column": 68 }, "end": { "line": 101, "column": 69 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_max_y", "start": 3383, "end": 3398, "loc": { "start": { "line": 101, "column": 69 }, "end": { "line": 101, "column": 84 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 3399, "end": 3400, "loc": { "start": { "line": 101, "column": 85 }, "end": { "line": 101, "column": 86 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_min_y", "start": 3401, "end": 3416, "loc": { "start": { "line": 101, "column": 87 }, "end": { "line": 101, "column": 102 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3416, "end": 3417, "loc": { "start": { "line": 101, "column": 102 }, "end": { "line": 101, "column": 103 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3417, "end": 3418, "loc": { "start": { "line": 101, "column": 103 }, "end": { "line": 101, "column": 104 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3424, "end": 3429, "loc": { "start": { "line": 102, "column": 5 }, "end": { "line": 102, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_difference", "start": 3430, "end": 3446, "loc": { "start": { "line": 102, "column": 11 }, "end": { "line": 102, "column": 27 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3447, "end": 3448, "loc": { "start": { "line": 102, "column": 28 }, "end": { "line": 102, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_volume", "start": 3449, "end": 3465, "loc": { "start": { "line": 102, "column": 30 }, "end": { "line": 102, "column": 46 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 3466, "end": 3467, "loc": { "start": { "line": 102, "column": 47 }, "end": { "line": 102, "column": 48 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_volume", "start": 3468, "end": 3480, "loc": { "start": { "line": 102, "column": 49 }, "end": { "line": 102, "column": 61 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3480, "end": 3481, "loc": { "start": { "line": 102, "column": 61 }, "end": { "line": 102, "column": 62 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 3488, "end": 3495, "loc": { "start": { "line": 104, "column": 5 }, "end": { "line": 104, "column": 12 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3495, "end": 3496, "loc": { "start": { "line": 104, "column": 12 }, "end": { "line": 104, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_sort", "start": 3496, "end": 3505, "loc": { "start": { "line": 104, "column": 13 }, "end": { "line": 104, "column": 22 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3507, "end": 3508, "loc": { "start": { "line": 104, "column": 24 }, "end": { "line": 104, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sort", "start": 3509, "end": 3513, "loc": { "start": { "line": 104, "column": 26 }, "end": { "line": 104, "column": 30 } } }, { "type": { "label": "++/--", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": true, "binop": null }, "value": "++", "start": 3513, "end": 3515, "loc": { "start": { "line": 104, "column": 30 }, "end": { "line": 104, "column": 32 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3515, "end": 3516, "loc": { "start": { "line": 104, "column": 32 }, "end": { "line": 104, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 3522, "end": 3529, "loc": { "start": { "line": 105, "column": 5 }, "end": { "line": 105, "column": 12 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3529, "end": 3530, "loc": { "start": { "line": 105, "column": 12 }, "end": { "line": 105, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 3530, "end": 3540, "loc": { "start": { "line": 105, "column": 13 }, "end": { "line": 105, "column": 23 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3541, "end": 3542, "loc": { "start": { "line": 105, "column": 24 }, "end": { "line": 105, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_min_x", "start": 3543, "end": 3557, "loc": { "start": { "line": 105, "column": 26 }, "end": { "line": 105, "column": 40 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 3558, "end": 3559, "loc": { "start": { "line": 105, "column": 41 }, "end": { "line": 105, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_min_x", "start": 3560, "end": 3575, "loc": { "start": { "line": 105, "column": 43 }, "end": { "line": 105, "column": 58 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3576, "end": 3577, "loc": { "start": { "line": 105, "column": 59 }, "end": { "line": 105, "column": 60 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_min_x", "start": 3578, "end": 3592, "loc": { "start": { "line": 105, "column": 61 }, "end": { "line": 105, "column": 75 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3593, "end": 3594, "loc": { "start": { "line": 105, "column": 76 }, "end": { "line": 105, "column": 77 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_min_x", "start": 3595, "end": 3610, "loc": { "start": { "line": 105, "column": 78 }, "end": { "line": 105, "column": 93 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3610, "end": 3611, "loc": { "start": { "line": 105, "column": 93 }, "end": { "line": 105, "column": 94 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 3617, "end": 3624, "loc": { "start": { "line": 106, "column": 5 }, "end": { "line": 106, "column": 12 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3624, "end": 3625, "loc": { "start": { "line": 106, "column": 12 }, "end": { "line": 106, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_y", "start": 3625, "end": 3635, "loc": { "start": { "line": 106, "column": 13 }, "end": { "line": 106, "column": 23 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3636, "end": 3637, "loc": { "start": { "line": 106, "column": 24 }, "end": { "line": 106, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_min_y", "start": 3638, "end": 3652, "loc": { "start": { "line": 106, "column": 26 }, "end": { "line": 106, "column": 40 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 3653, "end": 3654, "loc": { "start": { "line": 106, "column": 41 }, "end": { "line": 106, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_min_y", "start": 3655, "end": 3670, "loc": { "start": { "line": 106, "column": 43 }, "end": { "line": 106, "column": 58 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3671, "end": 3672, "loc": { "start": { "line": 106, "column": 59 }, "end": { "line": 106, "column": 60 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_min_y", "start": 3673, "end": 3687, "loc": { "start": { "line": 106, "column": 61 }, "end": { "line": 106, "column": 75 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3688, "end": 3689, "loc": { "start": { "line": 106, "column": 76 }, "end": { "line": 106, "column": 77 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_min_y", "start": 3690, "end": 3705, "loc": { "start": { "line": 106, "column": 78 }, "end": { "line": 106, "column": 93 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3705, "end": 3706, "loc": { "start": { "line": 106, "column": 93 }, "end": { "line": 106, "column": 94 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 3712, "end": 3719, "loc": { "start": { "line": 107, "column": 5 }, "end": { "line": 107, "column": 12 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3719, "end": 3720, "loc": { "start": { "line": 107, "column": 12 }, "end": { "line": 107, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_x", "start": 3720, "end": 3730, "loc": { "start": { "line": 107, "column": 13 }, "end": { "line": 107, "column": 23 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3731, "end": 3732, "loc": { "start": { "line": 107, "column": 24 }, "end": { "line": 107, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_max_x", "start": 3733, "end": 3747, "loc": { "start": { "line": 107, "column": 26 }, "end": { "line": 107, "column": 40 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 3748, "end": 3749, "loc": { "start": { "line": 107, "column": 41 }, "end": { "line": 107, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_max_x", "start": 3750, "end": 3765, "loc": { "start": { "line": 107, "column": 43 }, "end": { "line": 107, "column": 58 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3766, "end": 3767, "loc": { "start": { "line": 107, "column": 59 }, "end": { "line": 107, "column": 60 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_max_x", "start": 3768, "end": 3782, "loc": { "start": { "line": 107, "column": 61 }, "end": { "line": 107, "column": 75 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3783, "end": 3784, "loc": { "start": { "line": 107, "column": 76 }, "end": { "line": 107, "column": 77 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_max_x", "start": 3785, "end": 3800, "loc": { "start": { "line": 107, "column": 78 }, "end": { "line": 107, "column": 93 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3800, "end": 3801, "loc": { "start": { "line": 107, "column": 93 }, "end": { "line": 107, "column": 94 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 3807, "end": 3814, "loc": { "start": { "line": 108, "column": 5 }, "end": { "line": 108, "column": 12 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3814, "end": 3815, "loc": { "start": { "line": 108, "column": 12 }, "end": { "line": 108, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_y", "start": 3815, "end": 3825, "loc": { "start": { "line": 108, "column": 13 }, "end": { "line": 108, "column": 23 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3826, "end": 3827, "loc": { "start": { "line": 108, "column": 24 }, "end": { "line": 108, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_max_y", "start": 3828, "end": 3842, "loc": { "start": { "line": 108, "column": 26 }, "end": { "line": 108, "column": 40 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 3843, "end": 3844, "loc": { "start": { "line": 108, "column": 41 }, "end": { "line": 108, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_max_y", "start": 3845, "end": 3860, "loc": { "start": { "line": 108, "column": 43 }, "end": { "line": 108, "column": 58 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3861, "end": 3862, "loc": { "start": { "line": 108, "column": 59 }, "end": { "line": 108, "column": 60 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_new_max_y", "start": 3863, "end": 3877, "loc": { "start": { "line": 108, "column": 61 }, "end": { "line": 108, "column": 75 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3878, "end": 3879, "loc": { "start": { "line": 108, "column": 76 }, "end": { "line": 108, "column": 77 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_new_max_y", "start": 3880, "end": 3895, "loc": { "start": { "line": 108, "column": 78 }, "end": { "line": 108, "column": 93 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3895, "end": 3896, "loc": { "start": { "line": 108, "column": 93 }, "end": { "line": 108, "column": 94 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 3903, "end": 3910, "loc": { "start": { "line": 110, "column": 5 }, "end": { "line": 110, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3911, "end": 3912, "loc": { "start": { "line": 110, "column": 13 }, "end": { "line": 110, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_difference", "start": 3913, "end": 3928, "loc": { "start": { "line": 110, "column": 15 }, "end": { "line": 110, "column": 30 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<=", "start": 3929, "end": 3931, "loc": { "start": { "line": 110, "column": 31 }, "end": { "line": 110, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_difference", "start": 3932, "end": 3948, "loc": { "start": { "line": 110, "column": 34 }, "end": { "line": 110, "column": 50 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3949, "end": 3950, "loc": { "start": { "line": 110, "column": 51 }, "end": { "line": 110, "column": 52 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 3951, "end": 3955, "loc": { "start": { "line": 110, "column": 53 }, "end": { "line": 110, "column": 57 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3956, "end": 3957, "loc": { "start": { "line": 110, "column": 58 }, "end": { "line": 110, "column": 59 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 3958, "end": 3963, "loc": { "start": { "line": 110, "column": 60 }, "end": { "line": 110, "column": 65 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3963, "end": 3964, "loc": { "start": { "line": 110, "column": 65 }, "end": { "line": 110, "column": 66 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3969, "end": 3970, "loc": { "start": { "line": 111, "column": 4 }, "end": { "line": 111, "column": 5 } } }, { "type": "CommentLine", "value": " Leaf", "start": 3975, "end": 3982, "loc": { "start": { "line": 112, "column": 4 }, "end": { "line": 112, "column": 11 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 3987, "end": 3991, "loc": { "start": { "line": 113, "column": 4 }, "end": { "line": 113, "column": 8 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3992, "end": 3993, "loc": { "start": { "line": 113, "column": 9 }, "end": { "line": 113, "column": 10 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3999, "end": 4004, "loc": { "start": { "line": 114, "column": 5 }, "end": { "line": 114, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "grandparent", "start": 4005, "end": 4016, "loc": { "start": { "line": 114, "column": 11 }, "end": { "line": 114, "column": 22 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4018, "end": 4019, "loc": { "start": { "line": 114, "column": 24 }, "end": { "line": 114, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 4020, "end": 4027, "loc": { "start": { "line": 114, "column": 26 }, "end": { "line": 114, "column": 33 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4027, "end": 4028, "loc": { "start": { "line": 114, "column": 33 }, "end": { "line": 114, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_parent", "start": 4028, "end": 4039, "loc": { "start": { "line": 114, "column": 34 }, "end": { "line": 114, "column": 45 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4039, "end": 4040, "loc": { "start": { "line": 114, "column": 45 }, "end": { "line": 114, "column": 46 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4046, "end": 4051, "loc": { "start": { "line": 115, "column": 5 }, "end": { "line": 115, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent_min_x", "start": 4052, "end": 4064, "loc": { "start": { "line": 115, "column": 11 }, "end": { "line": 115, "column": 23 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4065, "end": 4066, "loc": { "start": { "line": 115, "column": 24 }, "end": { "line": 115, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 4067, "end": 4074, "loc": { "start": { "line": 115, "column": 26 }, "end": { "line": 115, "column": 33 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4074, "end": 4075, "loc": { "start": { "line": 115, "column": 33 }, "end": { "line": 115, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 4075, "end": 4085, "loc": { "start": { "line": 115, "column": 34 }, "end": { "line": 115, "column": 44 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4085, "end": 4086, "loc": { "start": { "line": 115, "column": 44 }, "end": { "line": 115, "column": 45 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4092, "end": 4097, "loc": { "start": { "line": 116, "column": 5 }, "end": { "line": 116, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent_min_y", "start": 4098, "end": 4110, "loc": { "start": { "line": 116, "column": 11 }, "end": { "line": 116, "column": 23 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4111, "end": 4112, "loc": { "start": { "line": 116, "column": 24 }, "end": { "line": 116, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 4113, "end": 4120, "loc": { "start": { "line": 116, "column": 26 }, "end": { "line": 116, "column": 33 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4120, "end": 4121, "loc": { "start": { "line": 116, "column": 33 }, "end": { "line": 116, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_y", "start": 4121, "end": 4131, "loc": { "start": { "line": 116, "column": 34 }, "end": { "line": 116, "column": 44 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4131, "end": 4132, "loc": { "start": { "line": 116, "column": 44 }, "end": { "line": 116, "column": 45 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4138, "end": 4143, "loc": { "start": { "line": 117, "column": 5 }, "end": { "line": 117, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent_max_x", "start": 4144, "end": 4156, "loc": { "start": { "line": 117, "column": 11 }, "end": { "line": 117, "column": 23 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4157, "end": 4158, "loc": { "start": { "line": 117, "column": 24 }, "end": { "line": 117, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 4159, "end": 4166, "loc": { "start": { "line": 117, "column": 26 }, "end": { "line": 117, "column": 33 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4166, "end": 4167, "loc": { "start": { "line": 117, "column": 33 }, "end": { "line": 117, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_x", "start": 4167, "end": 4177, "loc": { "start": { "line": 117, "column": 34 }, "end": { "line": 117, "column": 44 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4177, "end": 4178, "loc": { "start": { "line": 117, "column": 44 }, "end": { "line": 117, "column": 45 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4184, "end": 4189, "loc": { "start": { "line": 118, "column": 5 }, "end": { "line": 118, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent_max_y", "start": 4190, "end": 4202, "loc": { "start": { "line": 118, "column": 11 }, "end": { "line": 118, "column": 23 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4203, "end": 4204, "loc": { "start": { "line": 118, "column": 24 }, "end": { "line": 118, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 4205, "end": 4212, "loc": { "start": { "line": 118, "column": 26 }, "end": { "line": 118, "column": 33 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4212, "end": 4213, "loc": { "start": { "line": 118, "column": 33 }, "end": { "line": 118, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_y", "start": 4213, "end": 4223, "loc": { "start": { "line": 118, "column": 34 }, "end": { "line": 118, "column": 44 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4223, "end": 4224, "loc": { "start": { "line": 118, "column": 44 }, "end": { "line": 118, "column": 45 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4230, "end": 4235, "loc": { "start": { "line": 119, "column": 5 }, "end": { "line": 119, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_parent", "start": 4236, "end": 4246, "loc": { "start": { "line": 119, "column": 11 }, "end": { "line": 119, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4249, "end": 4250, "loc": { "start": { "line": 119, "column": 24 }, "end": { "line": 119, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 4251, "end": 4258, "loc": { "start": { "line": 119, "column": 26 }, "end": { "line": 119, "column": 33 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4258, "end": 4259, "loc": { "start": { "line": 119, "column": 33 }, "end": { "line": 119, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_parent", "start": 4259, "end": 4270, "loc": { "start": { "line": 119, "column": 34 }, "end": { "line": 119, "column": 45 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4271, "end": 4272, "loc": { "start": { "line": 119, "column": 46 }, "end": { "line": 119, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 4273, "end": 4277, "loc": { "start": { "line": 119, "column": 48 }, "end": { "line": 119, "column": 52 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4277, "end": 4278, "loc": { "start": { "line": 119, "column": 52 }, "end": { "line": 119, "column": 53 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_parent", "start": 4278, "end": 4289, "loc": { "start": { "line": 119, "column": 53 }, "end": { "line": 119, "column": 64 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4290, "end": 4291, "loc": { "start": { "line": 119, "column": 65 }, "end": { "line": 119, "column": 66 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "BVHBranch", "start": 4292, "end": 4301, "loc": { "start": { "line": 119, "column": 67 }, "end": { "line": 119, "column": 76 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4301, "end": 4302, "loc": { "start": { "line": 119, "column": 76 }, "end": { "line": 119, "column": 77 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "getBranch", "start": 4302, "end": 4311, "loc": { "start": { "line": 119, "column": 77 }, "end": { "line": 119, "column": 86 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4311, "end": 4312, "loc": { "start": { "line": 119, "column": 86 }, "end": { "line": 119, "column": 87 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4312, "end": 4313, "loc": { "start": { "line": 119, "column": 87 }, "end": { "line": 119, "column": 88 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4313, "end": 4314, "loc": { "start": { "line": 119, "column": 88 }, "end": { "line": 119, "column": 89 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_parent", "start": 4321, "end": 4331, "loc": { "start": { "line": 121, "column": 5 }, "end": { "line": 121, "column": 15 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4331, "end": 4332, "loc": { "start": { "line": 121, "column": 15 }, "end": { "line": 121, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_parent", "start": 4332, "end": 4343, "loc": { "start": { "line": 121, "column": 16 }, "end": { "line": 121, "column": 27 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4344, "end": 4345, "loc": { "start": { "line": 121, "column": 28 }, "end": { "line": 121, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "grandparent", "start": 4346, "end": 4357, "loc": { "start": { "line": 121, "column": 30 }, "end": { "line": 121, "column": 41 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4357, "end": 4358, "loc": { "start": { "line": 121, "column": 41 }, "end": { "line": 121, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_parent", "start": 4364, "end": 4374, "loc": { "start": { "line": 122, "column": 5 }, "end": { "line": 122, "column": 15 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4374, "end": 4375, "loc": { "start": { "line": 122, "column": 15 }, "end": { "line": 122, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_left", "start": 4375, "end": 4384, "loc": { "start": { "line": 122, "column": 16 }, "end": { "line": 122, "column": 25 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4387, "end": 4388, "loc": { "start": { "line": 122, "column": 28 }, "end": { "line": 122, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 4389, "end": 4396, "loc": { "start": { "line": 122, "column": 30 }, "end": { "line": 122, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4396, "end": 4397, "loc": { "start": { "line": 122, "column": 37 }, "end": { "line": 122, "column": 38 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_parent", "start": 4403, "end": 4413, "loc": { "start": { "line": 123, "column": 5 }, "end": { "line": 123, "column": 15 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4413, "end": 4414, "loc": { "start": { "line": 123, "column": 15 }, "end": { "line": 123, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_right", "start": 4414, "end": 4424, "loc": { "start": { "line": 123, "column": 16 }, "end": { "line": 123, "column": 26 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4426, "end": 4427, "loc": { "start": { "line": 123, "column": 28 }, "end": { "line": 123, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 4428, "end": 4432, "loc": { "start": { "line": 123, "column": 30 }, "end": { "line": 123, "column": 34 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4432, "end": 4433, "loc": { "start": { "line": 123, "column": 34 }, "end": { "line": 123, "column": 35 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_parent", "start": 4439, "end": 4449, "loc": { "start": { "line": 124, "column": 5 }, "end": { "line": 124, "column": 15 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4449, "end": 4450, "loc": { "start": { "line": 124, "column": 15 }, "end": { "line": 124, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_sort", "start": 4450, "end": 4459, "loc": { "start": { "line": 124, "column": 16 }, "end": { "line": 124, "column": 25 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4462, "end": 4463, "loc": { "start": { "line": 124, "column": 28 }, "end": { "line": 124, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sort", "start": 4464, "end": 4468, "loc": { "start": { "line": 124, "column": 30 }, "end": { "line": 124, "column": 34 } } }, { "type": { "label": "++/--", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": true, "binop": null }, "value": "++", "start": 4468, "end": 4470, "loc": { "start": { "line": 124, "column": 34 }, "end": { "line": 124, "column": 36 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4470, "end": 4471, "loc": { "start": { "line": 124, "column": 36 }, "end": { "line": 124, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_parent", "start": 4477, "end": 4487, "loc": { "start": { "line": 125, "column": 5 }, "end": { "line": 125, "column": 15 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4487, "end": 4488, "loc": { "start": { "line": 125, "column": 15 }, "end": { "line": 125, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 4488, "end": 4498, "loc": { "start": { "line": 125, "column": 16 }, "end": { "line": 125, "column": 26 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4500, "end": 4501, "loc": { "start": { "line": 125, "column": 28 }, "end": { "line": 125, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_min_x", "start": 4502, "end": 4512, "loc": { "start": { "line": 125, "column": 30 }, "end": { "line": 125, "column": 40 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 4513, "end": 4514, "loc": { "start": { "line": 125, "column": 41 }, "end": { "line": 125, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent_min_x", "start": 4515, "end": 4527, "loc": { "start": { "line": 125, "column": 43 }, "end": { "line": 125, "column": 55 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4528, "end": 4529, "loc": { "start": { "line": 125, "column": 56 }, "end": { "line": 125, "column": 57 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_min_x", "start": 4530, "end": 4540, "loc": { "start": { "line": 125, "column": 58 }, "end": { "line": 125, "column": 68 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4541, "end": 4542, "loc": { "start": { "line": 125, "column": 69 }, "end": { "line": 125, "column": 70 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent_min_x", "start": 4543, "end": 4555, "loc": { "start": { "line": 125, "column": 71 }, "end": { "line": 125, "column": 83 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4555, "end": 4556, "loc": { "start": { "line": 125, "column": 83 }, "end": { "line": 125, "column": 84 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_parent", "start": 4562, "end": 4572, "loc": { "start": { "line": 126, "column": 5 }, "end": { "line": 126, "column": 15 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4572, "end": 4573, "loc": { "start": { "line": 126, "column": 15 }, "end": { "line": 126, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_y", "start": 4573, "end": 4583, "loc": { "start": { "line": 126, "column": 16 }, "end": { "line": 126, "column": 26 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4585, "end": 4586, "loc": { "start": { "line": 126, "column": 28 }, "end": { "line": 126, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_min_y", "start": 4587, "end": 4597, "loc": { "start": { "line": 126, "column": 30 }, "end": { "line": 126, "column": 40 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 4598, "end": 4599, "loc": { "start": { "line": 126, "column": 41 }, "end": { "line": 126, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent_min_y", "start": 4600, "end": 4612, "loc": { "start": { "line": 126, "column": 43 }, "end": { "line": 126, "column": 55 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4613, "end": 4614, "loc": { "start": { "line": 126, "column": 56 }, "end": { "line": 126, "column": 57 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_min_y", "start": 4615, "end": 4625, "loc": { "start": { "line": 126, "column": 58 }, "end": { "line": 126, "column": 68 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4626, "end": 4627, "loc": { "start": { "line": 126, "column": 69 }, "end": { "line": 126, "column": 70 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent_min_y", "start": 4628, "end": 4640, "loc": { "start": { "line": 126, "column": 71 }, "end": { "line": 126, "column": 83 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4640, "end": 4641, "loc": { "start": { "line": 126, "column": 83 }, "end": { "line": 126, "column": 84 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_parent", "start": 4647, "end": 4657, "loc": { "start": { "line": 127, "column": 5 }, "end": { "line": 127, "column": 15 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4657, "end": 4658, "loc": { "start": { "line": 127, "column": 15 }, "end": { "line": 127, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_x", "start": 4658, "end": 4668, "loc": { "start": { "line": 127, "column": 16 }, "end": { "line": 127, "column": 26 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4670, "end": 4671, "loc": { "start": { "line": 127, "column": 28 }, "end": { "line": 127, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_max_x", "start": 4672, "end": 4682, "loc": { "start": { "line": 127, "column": 30 }, "end": { "line": 127, "column": 40 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 4683, "end": 4684, "loc": { "start": { "line": 127, "column": 41 }, "end": { "line": 127, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent_max_x", "start": 4685, "end": 4697, "loc": { "start": { "line": 127, "column": 43 }, "end": { "line": 127, "column": 55 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4698, "end": 4699, "loc": { "start": { "line": 127, "column": 56 }, "end": { "line": 127, "column": 57 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_max_x", "start": 4700, "end": 4710, "loc": { "start": { "line": 127, "column": 58 }, "end": { "line": 127, "column": 68 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4711, "end": 4712, "loc": { "start": { "line": 127, "column": 69 }, "end": { "line": 127, "column": 70 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent_max_x", "start": 4713, "end": 4725, "loc": { "start": { "line": 127, "column": 71 }, "end": { "line": 127, "column": 83 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4725, "end": 4726, "loc": { "start": { "line": 127, "column": 83 }, "end": { "line": 127, "column": 84 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_parent", "start": 4732, "end": 4742, "loc": { "start": { "line": 128, "column": 5 }, "end": { "line": 128, "column": 15 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4742, "end": 4743, "loc": { "start": { "line": 128, "column": 15 }, "end": { "line": 128, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_y", "start": 4743, "end": 4753, "loc": { "start": { "line": 128, "column": 16 }, "end": { "line": 128, "column": 26 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4755, "end": 4756, "loc": { "start": { "line": 128, "column": 28 }, "end": { "line": 128, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_max_y", "start": 4757, "end": 4767, "loc": { "start": { "line": 128, "column": 30 }, "end": { "line": 128, "column": 40 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 4768, "end": 4769, "loc": { "start": { "line": 128, "column": 41 }, "end": { "line": 128, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent_max_y", "start": 4770, "end": 4782, "loc": { "start": { "line": 128, "column": 43 }, "end": { "line": 128, "column": 55 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4783, "end": 4784, "loc": { "start": { "line": 128, "column": 56 }, "end": { "line": 128, "column": 57 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body_max_y", "start": 4785, "end": 4795, "loc": { "start": { "line": 128, "column": 58 }, "end": { "line": 128, "column": 68 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4796, "end": 4797, "loc": { "start": { "line": 128, "column": 69 }, "end": { "line": 128, "column": 70 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent_max_y", "start": 4798, "end": 4810, "loc": { "start": { "line": 128, "column": 71 }, "end": { "line": 128, "column": 83 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4810, "end": 4811, "loc": { "start": { "line": 128, "column": 83 }, "end": { "line": 128, "column": 84 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 4818, "end": 4820, "loc": { "start": { "line": 130, "column": 5 }, "end": { "line": 130, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4820, "end": 4821, "loc": { "start": { "line": 130, "column": 7 }, "end": { "line": 130, "column": 8 } } }, { "type": { "label": "prefix", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": null, "updateContext": null }, "value": "!", "start": 4821, "end": 4822, "loc": { "start": { "line": 130, "column": 8 }, "end": { "line": 130, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "grandparent", "start": 4822, "end": 4833, "loc": { "start": { "line": 130, "column": 9 }, "end": { "line": 130, "column": 20 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4833, "end": 4834, "loc": { "start": { "line": 130, "column": 20 }, "end": { "line": 130, "column": 21 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4835, "end": 4836, "loc": { "start": { "line": 130, "column": 22 }, "end": { "line": 130, "column": 23 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 4843, "end": 4847, "loc": { "start": { "line": 131, "column": 6 }, "end": { "line": 131, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4847, "end": 4848, "loc": { "start": { "line": 131, "column": 10 }, "end": { "line": 131, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_hierarchy", "start": 4848, "end": 4858, "loc": { "start": { "line": 131, "column": 11 }, "end": { "line": 131, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4859, "end": 4860, "loc": { "start": { "line": 131, "column": 22 }, "end": { "line": 131, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_parent", "start": 4861, "end": 4871, "loc": { "start": { "line": 131, "column": 24 }, "end": { "line": 131, "column": 34 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4871, "end": 4872, "loc": { "start": { "line": 131, "column": 34 }, "end": { "line": 131, "column": 35 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4878, "end": 4879, "loc": { "start": { "line": 132, "column": 5 }, "end": { "line": 132, "column": 6 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 4885, "end": 4889, "loc": { "start": { "line": 133, "column": 5 }, "end": { "line": 133, "column": 9 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 4890, "end": 4892, "loc": { "start": { "line": 133, "column": 10 }, "end": { "line": 133, "column": 12 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4892, "end": 4893, "loc": { "start": { "line": 133, "column": 12 }, "end": { "line": 133, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "grandparent", "start": 4893, "end": 4904, "loc": { "start": { "line": 133, "column": 13 }, "end": { "line": 133, "column": 24 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4904, "end": 4905, "loc": { "start": { "line": 133, "column": 24 }, "end": { "line": 133, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_left", "start": 4905, "end": 4914, "loc": { "start": { "line": 133, "column": 25 }, "end": { "line": 133, "column": 34 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 4915, "end": 4918, "loc": { "start": { "line": 133, "column": 35 }, "end": { "line": 133, "column": 38 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 4919, "end": 4926, "loc": { "start": { "line": 133, "column": 39 }, "end": { "line": 133, "column": 46 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4926, "end": 4927, "loc": { "start": { "line": 133, "column": 46 }, "end": { "line": 133, "column": 47 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4928, "end": 4929, "loc": { "start": { "line": 133, "column": 48 }, "end": { "line": 133, "column": 49 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "grandparent", "start": 4936, "end": 4947, "loc": { "start": { "line": 134, "column": 6 }, "end": { "line": 134, "column": 17 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4947, "end": 4948, "loc": { "start": { "line": 134, "column": 17 }, "end": { "line": 134, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_left", "start": 4948, "end": 4957, "loc": { "start": { "line": 134, "column": 18 }, "end": { "line": 134, "column": 27 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4958, "end": 4959, "loc": { "start": { "line": 134, "column": 28 }, "end": { "line": 134, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_parent", "start": 4960, "end": 4970, "loc": { "start": { "line": 134, "column": 30 }, "end": { "line": 134, "column": 40 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4970, "end": 4971, "loc": { "start": { "line": 134, "column": 40 }, "end": { "line": 134, "column": 41 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4977, "end": 4978, "loc": { "start": { "line": 135, "column": 5 }, "end": { "line": 135, "column": 6 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 4984, "end": 4988, "loc": { "start": { "line": 136, "column": 5 }, "end": { "line": 136, "column": 9 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4989, "end": 4990, "loc": { "start": { "line": 136, "column": 10 }, "end": { "line": 136, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "grandparent", "start": 4997, "end": 5008, "loc": { "start": { "line": 137, "column": 6 }, "end": { "line": 137, "column": 17 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5008, "end": 5009, "loc": { "start": { "line": 137, "column": 17 }, "end": { "line": 137, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_right", "start": 5009, "end": 5019, "loc": { "start": { "line": 137, "column": 18 }, "end": { "line": 137, "column": 28 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5020, "end": 5021, "loc": { "start": { "line": 137, "column": 29 }, "end": { "line": 137, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_parent", "start": 5022, "end": 5032, "loc": { "start": { "line": 137, "column": 31 }, "end": { "line": 137, "column": 41 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5032, "end": 5033, "loc": { "start": { "line": 137, "column": 41 }, "end": { "line": 137, "column": 42 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5039, "end": 5040, "loc": { "start": { "line": 138, "column": 5 }, "end": { "line": 138, "column": 6 } } }, { "type": { "label": "break", "keyword": "break", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "break", "start": 5047, "end": 5052, "loc": { "start": { "line": 140, "column": 5 }, "end": { "line": 140, "column": 10 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5052, "end": 5053, "loc": { "start": { "line": 140, "column": 10 }, "end": { "line": 140, "column": 11 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5058, "end": 5059, "loc": { "start": { "line": 141, "column": 4 }, "end": { "line": 141, "column": 5 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5063, "end": 5064, "loc": { "start": { "line": 142, "column": 3 }, "end": { "line": 142, "column": 4 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5067, "end": 5068, "loc": { "start": { "line": 143, "column": 2 }, "end": { "line": 143, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5070, "end": 5071, "loc": { "start": { "line": 144, "column": 1 }, "end": { "line": 144, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Removes a body from the BVH\n\t * @param {Circle|Polygon|Point} body The body to remove\n\t * @param {Boolean} [updating = false] Set to true if this is a temporary removal (used internally when updating the body's position)\n\t ", "start": 5074, "end": 5307, "loc": { "start": { "line": 146, "column": 1 }, "end": { "line": 150, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "remove", "start": 5309, "end": 5315, "loc": { "start": { "line": 151, "column": 1 }, "end": { "line": 151, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5315, "end": 5316, "loc": { "start": { "line": 151, "column": 7 }, "end": { "line": 151, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 5316, "end": 5320, "loc": { "start": { "line": 151, "column": 8 }, "end": { "line": 151, "column": 12 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5320, "end": 5321, "loc": { "start": { "line": 151, "column": 12 }, "end": { "line": 151, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "updating", "start": 5322, "end": 5330, "loc": { "start": { "line": 151, "column": 14 }, "end": { "line": 151, "column": 22 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5331, "end": 5332, "loc": { "start": { "line": 151, "column": 23 }, "end": { "line": 151, "column": 24 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 5333, "end": 5338, "loc": { "start": { "line": 151, "column": 25 }, "end": { "line": 151, "column": 30 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5338, "end": 5339, "loc": { "start": { "line": 151, "column": 30 }, "end": { "line": 151, "column": 31 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5340, "end": 5341, "loc": { "start": { "line": 151, "column": 32 }, "end": { "line": 151, "column": 33 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 5344, "end": 5346, "loc": { "start": { "line": 152, "column": 2 }, "end": { "line": 152, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5346, "end": 5347, "loc": { "start": { "line": 152, "column": 4 }, "end": { "line": 152, "column": 5 } } }, { "type": { "label": "prefix", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": null, "updateContext": null }, "value": "!", "start": 5347, "end": 5348, "loc": { "start": { "line": 152, "column": 5 }, "end": { "line": 152, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "updating", "start": 5348, "end": 5356, "loc": { "start": { "line": 152, "column": 6 }, "end": { "line": 152, "column": 14 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5356, "end": 5357, "loc": { "start": { "line": 152, "column": 14 }, "end": { "line": 152, "column": 15 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5358, "end": 5359, "loc": { "start": { "line": 152, "column": 16 }, "end": { "line": 152, "column": 17 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5363, "end": 5368, "loc": { "start": { "line": 153, "column": 3 }, "end": { "line": 153, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bvh", "start": 5369, "end": 5372, "loc": { "start": { "line": 153, "column": 9 }, "end": { "line": 153, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5373, "end": 5374, "loc": { "start": { "line": 153, "column": 13 }, "end": { "line": 153, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 5375, "end": 5379, "loc": { "start": { "line": 153, "column": 15 }, "end": { "line": 153, "column": 19 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5379, "end": 5380, "loc": { "start": { "line": 153, "column": 19 }, "end": { "line": 153, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh", "start": 5380, "end": 5384, "loc": { "start": { "line": 153, "column": 20 }, "end": { "line": 153, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5384, "end": 5385, "loc": { "start": { "line": 153, "column": 24 }, "end": { "line": 153, "column": 25 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 5390, "end": 5392, "loc": { "start": { "line": 155, "column": 3 }, "end": { "line": 155, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5392, "end": 5393, "loc": { "start": { "line": 155, "column": 5 }, "end": { "line": 155, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bvh", "start": 5393, "end": 5396, "loc": { "start": { "line": 155, "column": 6 }, "end": { "line": 155, "column": 9 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 5397, "end": 5399, "loc": { "start": { "line": 155, "column": 10 }, "end": { "line": 155, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bvh", "start": 5400, "end": 5403, "loc": { "start": { "line": 155, "column": 13 }, "end": { "line": 155, "column": 16 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 5404, "end": 5407, "loc": { "start": { "line": 155, "column": 17 }, "end": { "line": 155, "column": 20 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 5408, "end": 5412, "loc": { "start": { "line": 155, "column": 21 }, "end": { "line": 155, "column": 25 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5412, "end": 5413, "loc": { "start": { "line": 155, "column": 25 }, "end": { "line": 155, "column": 26 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5414, "end": 5415, "loc": { "start": { "line": 155, "column": 27 }, "end": { "line": 155, "column": 28 } } }, { "type": { "label": "throw", "keyword": "throw", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "throw", "start": 5420, "end": 5425, "loc": { "start": { "line": 156, "column": 4 }, "end": { "line": 156, "column": 9 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 5426, "end": 5429, "loc": { "start": { "line": 156, "column": 10 }, "end": { "line": 156, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Error", "start": 5430, "end": 5435, "loc": { "start": { "line": 156, "column": 14 }, "end": { "line": 156, "column": 19 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5435, "end": 5436, "loc": { "start": { "line": 156, "column": 19 }, "end": { "line": 156, "column": 20 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "Body belongs to another collision system", "start": 5436, "end": 5478, "loc": { "start": { "line": 156, "column": 20 }, "end": { "line": 156, "column": 62 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5478, "end": 5479, "loc": { "start": { "line": 156, "column": 62 }, "end": { "line": 156, "column": 63 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5479, "end": 5480, "loc": { "start": { "line": 156, "column": 63 }, "end": { "line": 156, "column": 64 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5484, "end": 5485, "loc": { "start": { "line": 157, "column": 3 }, "end": { "line": 157, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 5490, "end": 5494, "loc": { "start": { "line": 159, "column": 3 }, "end": { "line": 159, "column": 7 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5494, "end": 5495, "loc": { "start": { "line": 159, "column": 7 }, "end": { "line": 159, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh", "start": 5495, "end": 5499, "loc": { "start": { "line": 159, "column": 8 }, "end": { "line": 159, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5500, "end": 5501, "loc": { "start": { "line": 159, "column": 13 }, "end": { "line": 159, "column": 14 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 5502, "end": 5506, "loc": { "start": { "line": 159, "column": 15 }, "end": { "line": 159, "column": 19 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5506, "end": 5507, "loc": { "start": { "line": 159, "column": 19 }, "end": { "line": 159, "column": 20 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 5511, "end": 5515, "loc": { "start": { "line": 160, "column": 3 }, "end": { "line": 160, "column": 7 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5515, "end": 5516, "loc": { "start": { "line": 160, "column": 7 }, "end": { "line": 160, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bodies", "start": 5516, "end": 5523, "loc": { "start": { "line": 160, "column": 8 }, "end": { "line": 160, "column": 15 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5523, "end": 5524, "loc": { "start": { "line": 160, "column": 15 }, "end": { "line": 160, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "splice", "start": 5524, "end": 5530, "loc": { "start": { "line": 160, "column": 16 }, "end": { "line": 160, "column": 22 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5530, "end": 5531, "loc": { "start": { "line": 160, "column": 22 }, "end": { "line": 160, "column": 23 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 5531, "end": 5535, "loc": { "start": { "line": 160, "column": 23 }, "end": { "line": 160, "column": 27 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5535, "end": 5536, "loc": { "start": { "line": 160, "column": 27 }, "end": { "line": 160, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bodies", "start": 5536, "end": 5543, "loc": { "start": { "line": 160, "column": 28 }, "end": { "line": 160, "column": 35 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5543, "end": 5544, "loc": { "start": { "line": 160, "column": 35 }, "end": { "line": 160, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "indexOf", "start": 5544, "end": 5551, "loc": { "start": { "line": 160, "column": 36 }, "end": { "line": 160, "column": 43 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5551, "end": 5552, "loc": { "start": { "line": 160, "column": 43 }, "end": { "line": 160, "column": 44 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 5552, "end": 5556, "loc": { "start": { "line": 160, "column": 44 }, "end": { "line": 160, "column": 48 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5556, "end": 5557, "loc": { "start": { "line": 160, "column": 48 }, "end": { "line": 160, "column": 49 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5557, "end": 5558, "loc": { "start": { "line": 160, "column": 49 }, "end": { "line": 160, "column": 50 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 5559, "end": 5560, "loc": { "start": { "line": 160, "column": 51 }, "end": { "line": 160, "column": 52 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5560, "end": 5561, "loc": { "start": { "line": 160, "column": 52 }, "end": { "line": 160, "column": 53 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5561, "end": 5562, "loc": { "start": { "line": 160, "column": 53 }, "end": { "line": 160, "column": 54 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5565, "end": 5566, "loc": { "start": { "line": 161, "column": 2 }, "end": { "line": 161, "column": 3 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 5570, "end": 5572, "loc": { "start": { "line": 163, "column": 2 }, "end": { "line": 163, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5572, "end": 5573, "loc": { "start": { "line": 163, "column": 4 }, "end": { "line": 163, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 5573, "end": 5577, "loc": { "start": { "line": 163, "column": 5 }, "end": { "line": 163, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5577, "end": 5578, "loc": { "start": { "line": 163, "column": 9 }, "end": { "line": 163, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_hierarchy", "start": 5578, "end": 5588, "loc": { "start": { "line": 163, "column": 10 }, "end": { "line": 163, "column": 20 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 5589, "end": 5592, "loc": { "start": { "line": 163, "column": 21 }, "end": { "line": 163, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 5593, "end": 5597, "loc": { "start": { "line": 163, "column": 25 }, "end": { "line": 163, "column": 29 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5597, "end": 5598, "loc": { "start": { "line": 163, "column": 29 }, "end": { "line": 163, "column": 30 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5599, "end": 5600, "loc": { "start": { "line": 163, "column": 31 }, "end": { "line": 163, "column": 32 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 5604, "end": 5608, "loc": { "start": { "line": 164, "column": 3 }, "end": { "line": 164, "column": 7 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5608, "end": 5609, "loc": { "start": { "line": 164, "column": 7 }, "end": { "line": 164, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_hierarchy", "start": 5609, "end": 5619, "loc": { "start": { "line": 164, "column": 8 }, "end": { "line": 164, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5620, "end": 5621, "loc": { "start": { "line": 164, "column": 19 }, "end": { "line": 164, "column": 20 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 5622, "end": 5626, "loc": { "start": { "line": 164, "column": 21 }, "end": { "line": 164, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5626, "end": 5627, "loc": { "start": { "line": 164, "column": 25 }, "end": { "line": 164, "column": 26 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 5632, "end": 5638, "loc": { "start": { "line": 166, "column": 3 }, "end": { "line": 166, "column": 9 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5638, "end": 5639, "loc": { "start": { "line": 166, "column": 9 }, "end": { "line": 166, "column": 10 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5642, "end": 5643, "loc": { "start": { "line": 167, "column": 2 }, "end": { "line": 167, "column": 3 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5647, "end": 5652, "loc": { "start": { "line": 169, "column": 2 }, "end": { "line": 169, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 5653, "end": 5659, "loc": { "start": { "line": 169, "column": 8 }, "end": { "line": 169, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5666, "end": 5667, "loc": { "start": { "line": 169, "column": 21 }, "end": { "line": 169, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 5668, "end": 5672, "loc": { "start": { "line": 169, "column": 23 }, "end": { "line": 169, "column": 27 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5672, "end": 5673, "loc": { "start": { "line": 169, "column": 27 }, "end": { "line": 169, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_parent", "start": 5673, "end": 5684, "loc": { "start": { "line": 169, "column": 28 }, "end": { "line": 169, "column": 39 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5684, "end": 5685, "loc": { "start": { "line": 169, "column": 39 }, "end": { "line": 169, "column": 40 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5688, "end": 5693, "loc": { "start": { "line": 170, "column": 2 }, "end": { "line": 170, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "grandparent", "start": 5694, "end": 5705, "loc": { "start": { "line": 170, "column": 8 }, "end": { "line": 170, "column": 19 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5707, "end": 5708, "loc": { "start": { "line": 170, "column": 21 }, "end": { "line": 170, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 5709, "end": 5715, "loc": { "start": { "line": 170, "column": 23 }, "end": { "line": 170, "column": 29 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5715, "end": 5716, "loc": { "start": { "line": 170, "column": 29 }, "end": { "line": 170, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_parent", "start": 5716, "end": 5727, "loc": { "start": { "line": 170, "column": 30 }, "end": { "line": 170, "column": 41 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5727, "end": 5728, "loc": { "start": { "line": 170, "column": 41 }, "end": { "line": 170, "column": 42 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5731, "end": 5736, "loc": { "start": { "line": 171, "column": 2 }, "end": { "line": 171, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent_left", "start": 5737, "end": 5748, "loc": { "start": { "line": 171, "column": 8 }, "end": { "line": 171, "column": 19 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5750, "end": 5751, "loc": { "start": { "line": 171, "column": 21 }, "end": { "line": 171, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 5752, "end": 5758, "loc": { "start": { "line": 171, "column": 23 }, "end": { "line": 171, "column": 29 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5758, "end": 5759, "loc": { "start": { "line": 171, "column": 29 }, "end": { "line": 171, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_left", "start": 5759, "end": 5768, "loc": { "start": { "line": 171, "column": 30 }, "end": { "line": 171, "column": 39 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5768, "end": 5769, "loc": { "start": { "line": 171, "column": 39 }, "end": { "line": 171, "column": 40 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5772, "end": 5777, "loc": { "start": { "line": 172, "column": 2 }, "end": { "line": 172, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sibling", "start": 5778, "end": 5785, "loc": { "start": { "line": 172, "column": 8 }, "end": { "line": 172, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5791, "end": 5792, "loc": { "start": { "line": 172, "column": 21 }, "end": { "line": 172, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent_left", "start": 5793, "end": 5804, "loc": { "start": { "line": 172, "column": 23 }, "end": { "line": 172, "column": 34 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 5805, "end": 5808, "loc": { "start": { "line": 172, "column": 35 }, "end": { "line": 172, "column": 38 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 5809, "end": 5813, "loc": { "start": { "line": 172, "column": 39 }, "end": { "line": 172, "column": 43 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5814, "end": 5815, "loc": { "start": { "line": 172, "column": 44 }, "end": { "line": 172, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 5816, "end": 5822, "loc": { "start": { "line": 172, "column": 46 }, "end": { "line": 172, "column": 52 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5822, "end": 5823, "loc": { "start": { "line": 172, "column": 52 }, "end": { "line": 172, "column": 53 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_right", "start": 5823, "end": 5833, "loc": { "start": { "line": 172, "column": 53 }, "end": { "line": 172, "column": 63 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5834, "end": 5835, "loc": { "start": { "line": 172, "column": 64 }, "end": { "line": 172, "column": 65 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent_left", "start": 5836, "end": 5847, "loc": { "start": { "line": 172, "column": 66 }, "end": { "line": 172, "column": 77 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5847, "end": 5848, "loc": { "start": { "line": 172, "column": 77 }, "end": { "line": 172, "column": 78 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sibling", "start": 5852, "end": 5859, "loc": { "start": { "line": 174, "column": 2 }, "end": { "line": 174, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5859, "end": 5860, "loc": { "start": { "line": 174, "column": 9 }, "end": { "line": 174, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_parent", "start": 5860, "end": 5871, "loc": { "start": { "line": 174, "column": 10 }, "end": { "line": 174, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5872, "end": 5873, "loc": { "start": { "line": 174, "column": 22 }, "end": { "line": 174, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "grandparent", "start": 5874, "end": 5885, "loc": { "start": { "line": 174, "column": 24 }, "end": { "line": 174, "column": 35 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5885, "end": 5886, "loc": { "start": { "line": 174, "column": 35 }, "end": { "line": 174, "column": 36 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 5890, "end": 5892, "loc": { "start": { "line": 176, "column": 2 }, "end": { "line": 176, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5892, "end": 5893, "loc": { "start": { "line": 176, "column": 4 }, "end": { "line": 176, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sibling", "start": 5893, "end": 5900, "loc": { "start": { "line": 176, "column": 5 }, "end": { "line": 176, "column": 12 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5900, "end": 5901, "loc": { "start": { "line": 176, "column": 12 }, "end": { "line": 176, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_branch", "start": 5901, "end": 5912, "loc": { "start": { "line": 176, "column": 13 }, "end": { "line": 176, "column": 24 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5912, "end": 5913, "loc": { "start": { "line": 176, "column": 24 }, "end": { "line": 176, "column": 25 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5914, "end": 5915, "loc": { "start": { "line": 176, "column": 26 }, "end": { "line": 176, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sibling", "start": 5919, "end": 5926, "loc": { "start": { "line": 177, "column": 3 }, "end": { "line": 177, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5926, "end": 5927, "loc": { "start": { "line": 177, "column": 10 }, "end": { "line": 177, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_sort", "start": 5927, "end": 5936, "loc": { "start": { "line": 177, "column": 11 }, "end": { "line": 177, "column": 20 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5937, "end": 5938, "loc": { "start": { "line": 177, "column": 21 }, "end": { "line": 177, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 5939, "end": 5945, "loc": { "start": { "line": 177, "column": 23 }, "end": { "line": 177, "column": 29 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5945, "end": 5946, "loc": { "start": { "line": 177, "column": 29 }, "end": { "line": 177, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_sort", "start": 5946, "end": 5955, "loc": { "start": { "line": 177, "column": 30 }, "end": { "line": 177, "column": 39 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5955, "end": 5956, "loc": { "start": { "line": 177, "column": 39 }, "end": { "line": 177, "column": 40 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5959, "end": 5960, "loc": { "start": { "line": 178, "column": 2 }, "end": { "line": 178, "column": 3 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 5964, "end": 5966, "loc": { "start": { "line": 180, "column": 2 }, "end": { "line": 180, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5966, "end": 5967, "loc": { "start": { "line": 180, "column": 4 }, "end": { "line": 180, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "grandparent", "start": 5967, "end": 5978, "loc": { "start": { "line": 180, "column": 5 }, "end": { "line": 180, "column": 16 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5978, "end": 5979, "loc": { "start": { "line": 180, "column": 16 }, "end": { "line": 180, "column": 17 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5980, "end": 5981, "loc": { "start": { "line": 180, "column": 18 }, "end": { "line": 180, "column": 19 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 5985, "end": 5987, "loc": { "start": { "line": 181, "column": 3 }, "end": { "line": 181, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5987, "end": 5988, "loc": { "start": { "line": 181, "column": 5 }, "end": { "line": 181, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "grandparent", "start": 5988, "end": 5999, "loc": { "start": { "line": 181, "column": 6 }, "end": { "line": 181, "column": 17 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5999, "end": 6000, "loc": { "start": { "line": 181, "column": 17 }, "end": { "line": 181, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_left", "start": 6000, "end": 6009, "loc": { "start": { "line": 181, "column": 18 }, "end": { "line": 181, "column": 27 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 6010, "end": 6013, "loc": { "start": { "line": 181, "column": 28 }, "end": { "line": 181, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 6014, "end": 6020, "loc": { "start": { "line": 181, "column": 32 }, "end": { "line": 181, "column": 38 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6020, "end": 6021, "loc": { "start": { "line": 181, "column": 38 }, "end": { "line": 181, "column": 39 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6022, "end": 6023, "loc": { "start": { "line": 181, "column": 40 }, "end": { "line": 181, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "grandparent", "start": 6028, "end": 6039, "loc": { "start": { "line": 182, "column": 4 }, "end": { "line": 182, "column": 15 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6039, "end": 6040, "loc": { "start": { "line": 182, "column": 15 }, "end": { "line": 182, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_left", "start": 6040, "end": 6049, "loc": { "start": { "line": 182, "column": 16 }, "end": { "line": 182, "column": 25 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6050, "end": 6051, "loc": { "start": { "line": 182, "column": 26 }, "end": { "line": 182, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sibling", "start": 6052, "end": 6059, "loc": { "start": { "line": 182, "column": 28 }, "end": { "line": 182, "column": 35 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6059, "end": 6060, "loc": { "start": { "line": 182, "column": 35 }, "end": { "line": 182, "column": 36 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6064, "end": 6065, "loc": { "start": { "line": 183, "column": 3 }, "end": { "line": 183, "column": 4 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 6069, "end": 6073, "loc": { "start": { "line": 184, "column": 3 }, "end": { "line": 184, "column": 7 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6074, "end": 6075, "loc": { "start": { "line": 184, "column": 8 }, "end": { "line": 184, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "grandparent", "start": 6080, "end": 6091, "loc": { "start": { "line": 185, "column": 4 }, "end": { "line": 185, "column": 15 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6091, "end": 6092, "loc": { "start": { "line": 185, "column": 15 }, "end": { "line": 185, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_right", "start": 6092, "end": 6102, "loc": { "start": { "line": 185, "column": 16 }, "end": { "line": 185, "column": 26 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6103, "end": 6104, "loc": { "start": { "line": 185, "column": 27 }, "end": { "line": 185, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sibling", "start": 6105, "end": 6112, "loc": { "start": { "line": 185, "column": 29 }, "end": { "line": 185, "column": 36 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6112, "end": 6113, "loc": { "start": { "line": 185, "column": 36 }, "end": { "line": 185, "column": 37 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6117, "end": 6118, "loc": { "start": { "line": 186, "column": 3 }, "end": { "line": 186, "column": 4 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 6123, "end": 6126, "loc": { "start": { "line": 188, "column": 3 }, "end": { "line": 188, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch", "start": 6127, "end": 6133, "loc": { "start": { "line": 188, "column": 7 }, "end": { "line": 188, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6134, "end": 6135, "loc": { "start": { "line": 188, "column": 14 }, "end": { "line": 188, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "grandparent", "start": 6136, "end": 6147, "loc": { "start": { "line": 188, "column": 16 }, "end": { "line": 188, "column": 27 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6147, "end": 6148, "loc": { "start": { "line": 188, "column": 27 }, "end": { "line": 188, "column": 28 } } }, { "type": { "label": "while", "keyword": "while", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "while", "start": 6153, "end": 6158, "loc": { "start": { "line": 190, "column": 3 }, "end": { "line": 190, "column": 8 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6158, "end": 6159, "loc": { "start": { "line": 190, "column": 8 }, "end": { "line": 190, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch", "start": 6159, "end": 6165, "loc": { "start": { "line": 190, "column": 9 }, "end": { "line": 190, "column": 15 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6165, "end": 6166, "loc": { "start": { "line": 190, "column": 15 }, "end": { "line": 190, "column": 16 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6167, "end": 6168, "loc": { "start": { "line": 190, "column": 17 }, "end": { "line": 190, "column": 18 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6173, "end": 6178, "loc": { "start": { "line": 191, "column": 4 }, "end": { "line": 191, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 6179, "end": 6183, "loc": { "start": { "line": 191, "column": 10 }, "end": { "line": 191, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6190, "end": 6191, "loc": { "start": { "line": 191, "column": 21 }, "end": { "line": 191, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch", "start": 6192, "end": 6198, "loc": { "start": { "line": 191, "column": 23 }, "end": { "line": 191, "column": 29 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6198, "end": 6199, "loc": { "start": { "line": 191, "column": 29 }, "end": { "line": 191, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_left", "start": 6199, "end": 6208, "loc": { "start": { "line": 191, "column": 30 }, "end": { "line": 191, "column": 39 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6208, "end": 6209, "loc": { "start": { "line": 191, "column": 39 }, "end": { "line": 191, "column": 40 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6214, "end": 6219, "loc": { "start": { "line": 192, "column": 4 }, "end": { "line": 192, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_min_x", "start": 6220, "end": 6230, "loc": { "start": { "line": 192, "column": 10 }, "end": { "line": 192, "column": 20 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6231, "end": 6232, "loc": { "start": { "line": 192, "column": 21 }, "end": { "line": 192, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 6233, "end": 6237, "loc": { "start": { "line": 192, "column": 23 }, "end": { "line": 192, "column": 27 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6237, "end": 6238, "loc": { "start": { "line": 192, "column": 27 }, "end": { "line": 192, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 6238, "end": 6248, "loc": { "start": { "line": 192, "column": 28 }, "end": { "line": 192, "column": 38 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6248, "end": 6249, "loc": { "start": { "line": 192, "column": 38 }, "end": { "line": 192, "column": 39 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6254, "end": 6259, "loc": { "start": { "line": 193, "column": 4 }, "end": { "line": 193, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_min_y", "start": 6260, "end": 6270, "loc": { "start": { "line": 193, "column": 10 }, "end": { "line": 193, "column": 20 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6271, "end": 6272, "loc": { "start": { "line": 193, "column": 21 }, "end": { "line": 193, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 6273, "end": 6277, "loc": { "start": { "line": 193, "column": 23 }, "end": { "line": 193, "column": 27 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6277, "end": 6278, "loc": { "start": { "line": 193, "column": 27 }, "end": { "line": 193, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_y", "start": 6278, "end": 6288, "loc": { "start": { "line": 193, "column": 28 }, "end": { "line": 193, "column": 38 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6288, "end": 6289, "loc": { "start": { "line": 193, "column": 38 }, "end": { "line": 193, "column": 39 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6294, "end": 6299, "loc": { "start": { "line": 194, "column": 4 }, "end": { "line": 194, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_max_x", "start": 6300, "end": 6310, "loc": { "start": { "line": 194, "column": 10 }, "end": { "line": 194, "column": 20 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6311, "end": 6312, "loc": { "start": { "line": 194, "column": 21 }, "end": { "line": 194, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 6313, "end": 6317, "loc": { "start": { "line": 194, "column": 23 }, "end": { "line": 194, "column": 27 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6317, "end": 6318, "loc": { "start": { "line": 194, "column": 27 }, "end": { "line": 194, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_x", "start": 6318, "end": 6328, "loc": { "start": { "line": 194, "column": 28 }, "end": { "line": 194, "column": 38 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6328, "end": 6329, "loc": { "start": { "line": 194, "column": 38 }, "end": { "line": 194, "column": 39 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6334, "end": 6339, "loc": { "start": { "line": 195, "column": 4 }, "end": { "line": 195, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_max_y", "start": 6340, "end": 6350, "loc": { "start": { "line": 195, "column": 10 }, "end": { "line": 195, "column": 20 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6351, "end": 6352, "loc": { "start": { "line": 195, "column": 21 }, "end": { "line": 195, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 6353, "end": 6357, "loc": { "start": { "line": 195, "column": 23 }, "end": { "line": 195, "column": 27 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6357, "end": 6358, "loc": { "start": { "line": 195, "column": 27 }, "end": { "line": 195, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_y", "start": 6358, "end": 6368, "loc": { "start": { "line": 195, "column": 28 }, "end": { "line": 195, "column": 38 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6368, "end": 6369, "loc": { "start": { "line": 195, "column": 38 }, "end": { "line": 195, "column": 39 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6375, "end": 6380, "loc": { "start": { "line": 197, "column": 4 }, "end": { "line": 197, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 6381, "end": 6386, "loc": { "start": { "line": 197, "column": 10 }, "end": { "line": 197, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6393, "end": 6394, "loc": { "start": { "line": 197, "column": 22 }, "end": { "line": 197, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch", "start": 6395, "end": 6401, "loc": { "start": { "line": 197, "column": 24 }, "end": { "line": 197, "column": 30 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6401, "end": 6402, "loc": { "start": { "line": 197, "column": 30 }, "end": { "line": 197, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_right", "start": 6402, "end": 6412, "loc": { "start": { "line": 197, "column": 31 }, "end": { "line": 197, "column": 41 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6412, "end": 6413, "loc": { "start": { "line": 197, "column": 41 }, "end": { "line": 197, "column": 42 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6418, "end": 6423, "loc": { "start": { "line": 198, "column": 4 }, "end": { "line": 198, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_min_x", "start": 6424, "end": 6435, "loc": { "start": { "line": 198, "column": 10 }, "end": { "line": 198, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6436, "end": 6437, "loc": { "start": { "line": 198, "column": 22 }, "end": { "line": 198, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 6438, "end": 6443, "loc": { "start": { "line": 198, "column": 24 }, "end": { "line": 198, "column": 29 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6443, "end": 6444, "loc": { "start": { "line": 198, "column": 29 }, "end": { "line": 198, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 6444, "end": 6454, "loc": { "start": { "line": 198, "column": 30 }, "end": { "line": 198, "column": 40 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6454, "end": 6455, "loc": { "start": { "line": 198, "column": 40 }, "end": { "line": 198, "column": 41 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6460, "end": 6465, "loc": { "start": { "line": 199, "column": 4 }, "end": { "line": 199, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_min_y", "start": 6466, "end": 6477, "loc": { "start": { "line": 199, "column": 10 }, "end": { "line": 199, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6478, "end": 6479, "loc": { "start": { "line": 199, "column": 22 }, "end": { "line": 199, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 6480, "end": 6485, "loc": { "start": { "line": 199, "column": 24 }, "end": { "line": 199, "column": 29 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6485, "end": 6486, "loc": { "start": { "line": 199, "column": 29 }, "end": { "line": 199, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_y", "start": 6486, "end": 6496, "loc": { "start": { "line": 199, "column": 30 }, "end": { "line": 199, "column": 40 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6496, "end": 6497, "loc": { "start": { "line": 199, "column": 40 }, "end": { "line": 199, "column": 41 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6502, "end": 6507, "loc": { "start": { "line": 200, "column": 4 }, "end": { "line": 200, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_max_x", "start": 6508, "end": 6519, "loc": { "start": { "line": 200, "column": 10 }, "end": { "line": 200, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6520, "end": 6521, "loc": { "start": { "line": 200, "column": 22 }, "end": { "line": 200, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 6522, "end": 6527, "loc": { "start": { "line": 200, "column": 24 }, "end": { "line": 200, "column": 29 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6527, "end": 6528, "loc": { "start": { "line": 200, "column": 29 }, "end": { "line": 200, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_x", "start": 6528, "end": 6538, "loc": { "start": { "line": 200, "column": 30 }, "end": { "line": 200, "column": 40 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6538, "end": 6539, "loc": { "start": { "line": 200, "column": 40 }, "end": { "line": 200, "column": 41 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6544, "end": 6549, "loc": { "start": { "line": 201, "column": 4 }, "end": { "line": 201, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_max_y", "start": 6550, "end": 6561, "loc": { "start": { "line": 201, "column": 10 }, "end": { "line": 201, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6562, "end": 6563, "loc": { "start": { "line": 201, "column": 22 }, "end": { "line": 201, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 6564, "end": 6569, "loc": { "start": { "line": 201, "column": 24 }, "end": { "line": 201, "column": 29 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6569, "end": 6570, "loc": { "start": { "line": 201, "column": 29 }, "end": { "line": 201, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_y", "start": 6570, "end": 6580, "loc": { "start": { "line": 201, "column": 30 }, "end": { "line": 201, "column": 40 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6580, "end": 6581, "loc": { "start": { "line": 201, "column": 40 }, "end": { "line": 201, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch", "start": 6587, "end": 6593, "loc": { "start": { "line": 203, "column": 4 }, "end": { "line": 203, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6593, "end": 6594, "loc": { "start": { "line": 203, "column": 10 }, "end": { "line": 203, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 6594, "end": 6604, "loc": { "start": { "line": 203, "column": 11 }, "end": { "line": 203, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6605, "end": 6606, "loc": { "start": { "line": 203, "column": 22 }, "end": { "line": 203, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_min_x", "start": 6607, "end": 6617, "loc": { "start": { "line": 203, "column": 24 }, "end": { "line": 203, "column": 34 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 6618, "end": 6619, "loc": { "start": { "line": 203, "column": 35 }, "end": { "line": 203, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_min_x", "start": 6620, "end": 6631, "loc": { "start": { "line": 203, "column": 37 }, "end": { "line": 203, "column": 48 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6632, "end": 6633, "loc": { "start": { "line": 203, "column": 49 }, "end": { "line": 203, "column": 50 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_min_x", "start": 6634, "end": 6644, "loc": { "start": { "line": 203, "column": 51 }, "end": { "line": 203, "column": 61 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6645, "end": 6646, "loc": { "start": { "line": 203, "column": 62 }, "end": { "line": 203, "column": 63 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_min_x", "start": 6647, "end": 6658, "loc": { "start": { "line": 203, "column": 64 }, "end": { "line": 203, "column": 75 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6658, "end": 6659, "loc": { "start": { "line": 203, "column": 75 }, "end": { "line": 203, "column": 76 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch", "start": 6664, "end": 6670, "loc": { "start": { "line": 204, "column": 4 }, "end": { "line": 204, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6670, "end": 6671, "loc": { "start": { "line": 204, "column": 10 }, "end": { "line": 204, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_y", "start": 6671, "end": 6681, "loc": { "start": { "line": 204, "column": 11 }, "end": { "line": 204, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6682, "end": 6683, "loc": { "start": { "line": 204, "column": 22 }, "end": { "line": 204, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_min_y", "start": 6684, "end": 6694, "loc": { "start": { "line": 204, "column": 24 }, "end": { "line": 204, "column": 34 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 6695, "end": 6696, "loc": { "start": { "line": 204, "column": 35 }, "end": { "line": 204, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_min_y", "start": 6697, "end": 6708, "loc": { "start": { "line": 204, "column": 37 }, "end": { "line": 204, "column": 48 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6709, "end": 6710, "loc": { "start": { "line": 204, "column": 49 }, "end": { "line": 204, "column": 50 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_min_y", "start": 6711, "end": 6721, "loc": { "start": { "line": 204, "column": 51 }, "end": { "line": 204, "column": 61 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6722, "end": 6723, "loc": { "start": { "line": 204, "column": 62 }, "end": { "line": 204, "column": 63 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_min_y", "start": 6724, "end": 6735, "loc": { "start": { "line": 204, "column": 64 }, "end": { "line": 204, "column": 75 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6735, "end": 6736, "loc": { "start": { "line": 204, "column": 75 }, "end": { "line": 204, "column": 76 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch", "start": 6741, "end": 6747, "loc": { "start": { "line": 205, "column": 4 }, "end": { "line": 205, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6747, "end": 6748, "loc": { "start": { "line": 205, "column": 10 }, "end": { "line": 205, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_x", "start": 6748, "end": 6758, "loc": { "start": { "line": 205, "column": 11 }, "end": { "line": 205, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6759, "end": 6760, "loc": { "start": { "line": 205, "column": 22 }, "end": { "line": 205, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_max_x", "start": 6761, "end": 6771, "loc": { "start": { "line": 205, "column": 24 }, "end": { "line": 205, "column": 34 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 6772, "end": 6773, "loc": { "start": { "line": 205, "column": 35 }, "end": { "line": 205, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_max_x", "start": 6774, "end": 6785, "loc": { "start": { "line": 205, "column": 37 }, "end": { "line": 205, "column": 48 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6786, "end": 6787, "loc": { "start": { "line": 205, "column": 49 }, "end": { "line": 205, "column": 50 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_max_x", "start": 6788, "end": 6798, "loc": { "start": { "line": 205, "column": 51 }, "end": { "line": 205, "column": 61 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6799, "end": 6800, "loc": { "start": { "line": 205, "column": 62 }, "end": { "line": 205, "column": 63 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_max_x", "start": 6801, "end": 6812, "loc": { "start": { "line": 205, "column": 64 }, "end": { "line": 205, "column": 75 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6812, "end": 6813, "loc": { "start": { "line": 205, "column": 75 }, "end": { "line": 205, "column": 76 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch", "start": 6818, "end": 6824, "loc": { "start": { "line": 206, "column": 4 }, "end": { "line": 206, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6824, "end": 6825, "loc": { "start": { "line": 206, "column": 10 }, "end": { "line": 206, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_y", "start": 6825, "end": 6835, "loc": { "start": { "line": 206, "column": 11 }, "end": { "line": 206, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6836, "end": 6837, "loc": { "start": { "line": 206, "column": 22 }, "end": { "line": 206, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_max_y", "start": 6838, "end": 6848, "loc": { "start": { "line": 206, "column": 24 }, "end": { "line": 206, "column": 34 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 6849, "end": 6850, "loc": { "start": { "line": 206, "column": 35 }, "end": { "line": 206, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_max_y", "start": 6851, "end": 6862, "loc": { "start": { "line": 206, "column": 37 }, "end": { "line": 206, "column": 48 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6863, "end": 6864, "loc": { "start": { "line": 206, "column": 49 }, "end": { "line": 206, "column": 50 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left_max_y", "start": 6865, "end": 6875, "loc": { "start": { "line": 206, "column": 51 }, "end": { "line": 206, "column": 61 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6876, "end": 6877, "loc": { "start": { "line": 206, "column": 62 }, "end": { "line": 206, "column": 63 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right_max_y", "start": 6878, "end": 6889, "loc": { "start": { "line": 206, "column": 64 }, "end": { "line": 206, "column": 75 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6889, "end": 6890, "loc": { "start": { "line": 206, "column": 75 }, "end": { "line": 206, "column": 76 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch", "start": 6896, "end": 6902, "loc": { "start": { "line": 208, "column": 4 }, "end": { "line": 208, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6903, "end": 6904, "loc": { "start": { "line": 208, "column": 11 }, "end": { "line": 208, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch", "start": 6905, "end": 6911, "loc": { "start": { "line": 208, "column": 13 }, "end": { "line": 208, "column": 19 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6911, "end": 6912, "loc": { "start": { "line": 208, "column": 19 }, "end": { "line": 208, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_parent", "start": 6912, "end": 6923, "loc": { "start": { "line": 208, "column": 20 }, "end": { "line": 208, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6923, "end": 6924, "loc": { "start": { "line": 208, "column": 31 }, "end": { "line": 208, "column": 32 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6928, "end": 6929, "loc": { "start": { "line": 209, "column": 3 }, "end": { "line": 209, "column": 4 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6932, "end": 6933, "loc": { "start": { "line": 210, "column": 2 }, "end": { "line": 210, "column": 3 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 6936, "end": 6940, "loc": { "start": { "line": 211, "column": 2 }, "end": { "line": 211, "column": 6 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6941, "end": 6942, "loc": { "start": { "line": 211, "column": 7 }, "end": { "line": 211, "column": 8 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 6946, "end": 6950, "loc": { "start": { "line": 212, "column": 3 }, "end": { "line": 212, "column": 7 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6950, "end": 6951, "loc": { "start": { "line": 212, "column": 7 }, "end": { "line": 212, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_hierarchy", "start": 6951, "end": 6961, "loc": { "start": { "line": 212, "column": 8 }, "end": { "line": 212, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6962, "end": 6963, "loc": { "start": { "line": 212, "column": 19 }, "end": { "line": 212, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sibling", "start": 6964, "end": 6971, "loc": { "start": { "line": 212, "column": 21 }, "end": { "line": 212, "column": 28 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6971, "end": 6972, "loc": { "start": { "line": 212, "column": 28 }, "end": { "line": 212, "column": 29 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6975, "end": 6976, "loc": { "start": { "line": 213, "column": 2 }, "end": { "line": 213, "column": 3 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "BVHBranch", "start": 6980, "end": 6989, "loc": { "start": { "line": 215, "column": 2 }, "end": { "line": 215, "column": 11 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6989, "end": 6990, "loc": { "start": { "line": 215, "column": 11 }, "end": { "line": 215, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "releaseBranch", "start": 6990, "end": 7003, "loc": { "start": { "line": 215, "column": 12 }, "end": { "line": 215, "column": 25 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7003, "end": 7004, "loc": { "start": { "line": 215, "column": 25 }, "end": { "line": 215, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 7004, "end": 7010, "loc": { "start": { "line": 215, "column": 26 }, "end": { "line": 215, "column": 32 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7010, "end": 7011, "loc": { "start": { "line": 215, "column": 32 }, "end": { "line": 215, "column": 33 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7011, "end": 7012, "loc": { "start": { "line": 215, "column": 33 }, "end": { "line": 215, "column": 34 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7014, "end": 7015, "loc": { "start": { "line": 216, "column": 1 }, "end": { "line": 216, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Updates the BVH. Moved bodies are removed/inserted.\n\t ", "start": 7018, "end": 7082, "loc": { "start": { "line": 218, "column": 1 }, "end": { "line": 220, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "update", "start": 7084, "end": 7090, "loc": { "start": { "line": 221, "column": 1 }, "end": { "line": 221, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7090, "end": 7091, "loc": { "start": { "line": 221, "column": 7 }, "end": { "line": 221, "column": 8 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7091, "end": 7092, "loc": { "start": { "line": 221, "column": 8 }, "end": { "line": 221, "column": 9 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7093, "end": 7094, "loc": { "start": { "line": 221, "column": 10 }, "end": { "line": 221, "column": 11 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 7097, "end": 7102, "loc": { "start": { "line": 222, "column": 2 }, "end": { "line": 222, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bodies", "start": 7103, "end": 7109, "loc": { "start": { "line": 222, "column": 8 }, "end": { "line": 222, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7110, "end": 7111, "loc": { "start": { "line": 222, "column": 15 }, "end": { "line": 222, "column": 16 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 7112, "end": 7116, "loc": { "start": { "line": 222, "column": 17 }, "end": { "line": 222, "column": 21 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7116, "end": 7117, "loc": { "start": { "line": 222, "column": 21 }, "end": { "line": 222, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bodies", "start": 7117, "end": 7124, "loc": { "start": { "line": 222, "column": 22 }, "end": { "line": 222, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7124, "end": 7125, "loc": { "start": { "line": 222, "column": 29 }, "end": { "line": 222, "column": 30 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 7128, "end": 7133, "loc": { "start": { "line": 223, "column": 2 }, "end": { "line": 223, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 7134, "end": 7139, "loc": { "start": { "line": 223, "column": 8 }, "end": { "line": 223, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7141, "end": 7142, "loc": { "start": { "line": 223, "column": 15 }, "end": { "line": 223, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bodies", "start": 7143, "end": 7149, "loc": { "start": { "line": 223, "column": 17 }, "end": { "line": 223, "column": 23 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7149, "end": 7150, "loc": { "start": { "line": 223, "column": 23 }, "end": { "line": 223, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 7150, "end": 7156, "loc": { "start": { "line": 223, "column": 24 }, "end": { "line": 223, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7156, "end": 7157, "loc": { "start": { "line": 223, "column": 30 }, "end": { "line": 223, "column": 31 } } }, { "type": { "label": "for", "keyword": "for", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "for", "start": 7161, "end": 7164, "loc": { "start": { "line": 225, "column": 2 }, "end": { "line": 225, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7164, "end": 7165, "loc": { "start": { "line": 225, "column": 5 }, "end": { "line": 225, "column": 6 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 7165, "end": 7168, "loc": { "start": { "line": 225, "column": 6 }, "end": { "line": 225, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 7169, "end": 7170, "loc": { "start": { "line": 225, "column": 10 }, "end": { "line": 225, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7171, "end": 7172, "loc": { "start": { "line": 225, "column": 12 }, "end": { "line": 225, "column": 13 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 7173, "end": 7174, "loc": { "start": { "line": 225, "column": 14 }, "end": { "line": 225, "column": 15 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7174, "end": 7175, "loc": { "start": { "line": 225, "column": 15 }, "end": { "line": 225, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 7176, "end": 7177, "loc": { "start": { "line": 225, "column": 17 }, "end": { "line": 225, "column": 18 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 7178, "end": 7179, "loc": { "start": { "line": 225, "column": 19 }, "end": { "line": 225, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 7180, "end": 7185, "loc": { "start": { "line": 225, "column": 21 }, "end": { "line": 225, "column": 26 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7185, "end": 7186, "loc": { "start": { "line": 225, "column": 26 }, "end": { "line": 225, "column": 27 } } }, { "type": { "label": "++/--", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": true, "binop": null }, "value": "++", "start": 7187, "end": 7189, "loc": { "start": { "line": 225, "column": 28 }, "end": { "line": 225, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 7189, "end": 7190, "loc": { "start": { "line": 225, "column": 30 }, "end": { "line": 225, "column": 31 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7190, "end": 7191, "loc": { "start": { "line": 225, "column": 31 }, "end": { "line": 225, "column": 32 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7192, "end": 7193, "loc": { "start": { "line": 225, "column": 33 }, "end": { "line": 225, "column": 34 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 7197, "end": 7202, "loc": { "start": { "line": 226, "column": 3 }, "end": { "line": 226, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7203, "end": 7207, "loc": { "start": { "line": 226, "column": 9 }, "end": { "line": 226, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7208, "end": 7209, "loc": { "start": { "line": 226, "column": 14 }, "end": { "line": 226, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bodies", "start": 7210, "end": 7216, "loc": { "start": { "line": 226, "column": 16 }, "end": { "line": 226, "column": 22 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7216, "end": 7217, "loc": { "start": { "line": 226, "column": 22 }, "end": { "line": 226, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 7217, "end": 7218, "loc": { "start": { "line": 226, "column": 23 }, "end": { "line": 226, "column": 24 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7218, "end": 7219, "loc": { "start": { "line": 226, "column": 24 }, "end": { "line": 226, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7219, "end": 7220, "loc": { "start": { "line": 226, "column": 25 }, "end": { "line": 226, "column": 26 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 7225, "end": 7228, "loc": { "start": { "line": 228, "column": 3 }, "end": { "line": 228, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "update", "start": 7229, "end": 7235, "loc": { "start": { "line": 228, "column": 7 }, "end": { "line": 228, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7236, "end": 7237, "loc": { "start": { "line": 228, "column": 14 }, "end": { "line": 228, "column": 15 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 7238, "end": 7243, "loc": { "start": { "line": 228, "column": 16 }, "end": { "line": 228, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7243, "end": 7244, "loc": { "start": { "line": 228, "column": 21 }, "end": { "line": 228, "column": 22 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 7249, "end": 7251, "loc": { "start": { "line": 230, "column": 3 }, "end": { "line": 230, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7251, "end": 7252, "loc": { "start": { "line": 230, "column": 5 }, "end": { "line": 230, "column": 6 } } }, { "type": { "label": "prefix", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": null, "updateContext": null }, "value": "!", "start": 7252, "end": 7253, "loc": { "start": { "line": 230, "column": 6 }, "end": { "line": 230, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "update", "start": 7253, "end": 7259, "loc": { "start": { "line": 230, "column": 7 }, "end": { "line": 230, "column": 13 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 7260, "end": 7262, "loc": { "start": { "line": 230, "column": 14 }, "end": { "line": 230, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7263, "end": 7267, "loc": { "start": { "line": 230, "column": 17 }, "end": { "line": 230, "column": 21 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7267, "end": 7268, "loc": { "start": { "line": 230, "column": 21 }, "end": { "line": 230, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 7268, "end": 7275, "loc": { "start": { "line": 230, "column": 22 }, "end": { "line": 230, "column": 29 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 7276, "end": 7279, "loc": { "start": { "line": 230, "column": 30 }, "end": { "line": 230, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7280, "end": 7284, "loc": { "start": { "line": 230, "column": 34 }, "end": { "line": 230, "column": 38 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7284, "end": 7285, "loc": { "start": { "line": 230, "column": 38 }, "end": { "line": 230, "column": 39 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_padding", "start": 7285, "end": 7297, "loc": { "start": { "line": 230, "column": 39 }, "end": { "line": 230, "column": 51 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7297, "end": 7298, "loc": { "start": { "line": 230, "column": 51 }, "end": { "line": 230, "column": 52 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7299, "end": 7300, "loc": { "start": { "line": 230, "column": 53 }, "end": { "line": 230, "column": 54 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7305, "end": 7309, "loc": { "start": { "line": 231, "column": 4 }, "end": { "line": 231, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7309, "end": 7310, "loc": { "start": { "line": 231, "column": 8 }, "end": { "line": 231, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_padding", "start": 7310, "end": 7322, "loc": { "start": { "line": 231, "column": 9 }, "end": { "line": 231, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7323, "end": 7324, "loc": { "start": { "line": 231, "column": 22 }, "end": { "line": 231, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7325, "end": 7329, "loc": { "start": { "line": 231, "column": 24 }, "end": { "line": 231, "column": 28 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7329, "end": 7330, "loc": { "start": { "line": 231, "column": 28 }, "end": { "line": 231, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 7330, "end": 7337, "loc": { "start": { "line": 231, "column": 29 }, "end": { "line": 231, "column": 36 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7337, "end": 7338, "loc": { "start": { "line": 231, "column": 36 }, "end": { "line": 231, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "update", "start": 7343, "end": 7349, "loc": { "start": { "line": 232, "column": 4 }, "end": { "line": 232, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7350, "end": 7351, "loc": { "start": { "line": 232, "column": 11 }, "end": { "line": 232, "column": 12 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 7352, "end": 7356, "loc": { "start": { "line": 232, "column": 13 }, "end": { "line": 232, "column": 17 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7356, "end": 7357, "loc": { "start": { "line": 232, "column": 17 }, "end": { "line": 232, "column": 18 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7361, "end": 7362, "loc": { "start": { "line": 233, "column": 3 }, "end": { "line": 233, "column": 4 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 7367, "end": 7369, "loc": { "start": { "line": 235, "column": 3 }, "end": { "line": 235, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7369, "end": 7370, "loc": { "start": { "line": 235, "column": 5 }, "end": { "line": 235, "column": 6 } } }, { "type": { "label": "prefix", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": null, "updateContext": null }, "value": "!", "start": 7370, "end": 7371, "loc": { "start": { "line": 235, "column": 6 }, "end": { "line": 235, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "update", "start": 7371, "end": 7377, "loc": { "start": { "line": 235, "column": 7 }, "end": { "line": 235, "column": 13 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7377, "end": 7378, "loc": { "start": { "line": 235, "column": 13 }, "end": { "line": 235, "column": 14 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7379, "end": 7380, "loc": { "start": { "line": 235, "column": 15 }, "end": { "line": 235, "column": 16 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 7385, "end": 7390, "loc": { "start": { "line": 236, "column": 4 }, "end": { "line": 236, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygon", "start": 7391, "end": 7398, "loc": { "start": { "line": 236, "column": 10 }, "end": { "line": 236, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7399, "end": 7400, "loc": { "start": { "line": 236, "column": 18 }, "end": { "line": 236, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7401, "end": 7405, "loc": { "start": { "line": 236, "column": 20 }, "end": { "line": 236, "column": 24 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7405, "end": 7406, "loc": { "start": { "line": 236, "column": 24 }, "end": { "line": 236, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_polygon", "start": 7406, "end": 7414, "loc": { "start": { "line": 236, "column": 25 }, "end": { "line": 236, "column": 33 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7414, "end": 7415, "loc": { "start": { "line": 236, "column": 33 }, "end": { "line": 236, "column": 34 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 7421, "end": 7423, "loc": { "start": { "line": 238, "column": 4 }, "end": { "line": 238, "column": 6 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7423, "end": 7424, "loc": { "start": { "line": 238, "column": 6 }, "end": { "line": 238, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygon", "start": 7424, "end": 7431, "loc": { "start": { "line": 238, "column": 7 }, "end": { "line": 238, "column": 14 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7431, "end": 7432, "loc": { "start": { "line": 238, "column": 14 }, "end": { "line": 238, "column": 15 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7433, "end": 7434, "loc": { "start": { "line": 238, "column": 16 }, "end": { "line": 238, "column": 17 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 7440, "end": 7442, "loc": { "start": { "line": 239, "column": 5 }, "end": { "line": 239, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7442, "end": 7443, "loc": { "start": { "line": 239, "column": 7 }, "end": { "line": 239, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7450, "end": 7454, "loc": { "start": { "line": 240, "column": 6 }, "end": { "line": 240, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7454, "end": 7455, "loc": { "start": { "line": 240, "column": 10 }, "end": { "line": 240, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_dirty_coords", "start": 7455, "end": 7468, "loc": { "start": { "line": 240, "column": 11 }, "end": { "line": 240, "column": 24 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 7469, "end": 7471, "loc": { "start": { "line": 240, "column": 25 }, "end": { "line": 240, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7478, "end": 7482, "loc": { "start": { "line": 241, "column": 6 }, "end": { "line": 241, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7482, "end": 7483, "loc": { "start": { "line": 241, "column": 10 }, "end": { "line": 241, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 7483, "end": 7484, "loc": { "start": { "line": 241, "column": 11 }, "end": { "line": 241, "column": 12 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 7491, "end": 7494, "loc": { "start": { "line": 241, "column": 19 }, "end": { "line": 241, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7495, "end": 7499, "loc": { "start": { "line": 241, "column": 23 }, "end": { "line": 241, "column": 27 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7499, "end": 7500, "loc": { "start": { "line": 241, "column": 27 }, "end": { "line": 241, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_x", "start": 7500, "end": 7502, "loc": { "start": { "line": 241, "column": 28 }, "end": { "line": 241, "column": 30 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 7503, "end": 7505, "loc": { "start": { "line": 241, "column": 31 }, "end": { "line": 241, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7512, "end": 7516, "loc": { "start": { "line": 242, "column": 6 }, "end": { "line": 242, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7516, "end": 7517, "loc": { "start": { "line": 242, "column": 10 }, "end": { "line": 242, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 7517, "end": 7518, "loc": { "start": { "line": 242, "column": 11 }, "end": { "line": 242, "column": 12 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 7525, "end": 7528, "loc": { "start": { "line": 242, "column": 19 }, "end": { "line": 242, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7529, "end": 7533, "loc": { "start": { "line": 242, "column": 23 }, "end": { "line": 242, "column": 27 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7533, "end": 7534, "loc": { "start": { "line": 242, "column": 27 }, "end": { "line": 242, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_y", "start": 7534, "end": 7536, "loc": { "start": { "line": 242, "column": 28 }, "end": { "line": 242, "column": 30 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 7537, "end": 7539, "loc": { "start": { "line": 242, "column": 31 }, "end": { "line": 242, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7546, "end": 7550, "loc": { "start": { "line": 243, "column": 6 }, "end": { "line": 243, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7550, "end": 7551, "loc": { "start": { "line": 243, "column": 10 }, "end": { "line": 243, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "angle", "start": 7551, "end": 7556, "loc": { "start": { "line": 243, "column": 11 }, "end": { "line": 243, "column": 16 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 7559, "end": 7562, "loc": { "start": { "line": 243, "column": 19 }, "end": { "line": 243, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7563, "end": 7567, "loc": { "start": { "line": 243, "column": 23 }, "end": { "line": 243, "column": 27 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7567, "end": 7568, "loc": { "start": { "line": 243, "column": 27 }, "end": { "line": 243, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_angle", "start": 7568, "end": 7574, "loc": { "start": { "line": 243, "column": 28 }, "end": { "line": 243, "column": 34 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 7575, "end": 7577, "loc": { "start": { "line": 243, "column": 35 }, "end": { "line": 243, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7584, "end": 7588, "loc": { "start": { "line": 244, "column": 6 }, "end": { "line": 244, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7588, "end": 7589, "loc": { "start": { "line": 244, "column": 10 }, "end": { "line": 244, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_x", "start": 7589, "end": 7596, "loc": { "start": { "line": 244, "column": 11 }, "end": { "line": 244, "column": 18 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 7597, "end": 7600, "loc": { "start": { "line": 244, "column": 19 }, "end": { "line": 244, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7601, "end": 7605, "loc": { "start": { "line": 244, "column": 23 }, "end": { "line": 244, "column": 27 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7605, "end": 7606, "loc": { "start": { "line": 244, "column": 27 }, "end": { "line": 244, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_scale_x", "start": 7606, "end": 7614, "loc": { "start": { "line": 244, "column": 28 }, "end": { "line": 244, "column": 36 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 7615, "end": 7617, "loc": { "start": { "line": 244, "column": 37 }, "end": { "line": 244, "column": 39 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7624, "end": 7628, "loc": { "start": { "line": 245, "column": 6 }, "end": { "line": 245, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7628, "end": 7629, "loc": { "start": { "line": 245, "column": 10 }, "end": { "line": 245, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_y", "start": 7629, "end": 7636, "loc": { "start": { "line": 245, "column": 11 }, "end": { "line": 245, "column": 18 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 7637, "end": 7640, "loc": { "start": { "line": 245, "column": 19 }, "end": { "line": 245, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7641, "end": 7645, "loc": { "start": { "line": 245, "column": 23 }, "end": { "line": 245, "column": 27 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7645, "end": 7646, "loc": { "start": { "line": 245, "column": 27 }, "end": { "line": 245, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_scale_y", "start": 7646, "end": 7654, "loc": { "start": { "line": 245, "column": 28 }, "end": { "line": 245, "column": 36 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7660, "end": 7661, "loc": { "start": { "line": 246, "column": 5 }, "end": { "line": 246, "column": 6 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7662, "end": 7663, "loc": { "start": { "line": 246, "column": 7 }, "end": { "line": 246, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7670, "end": 7674, "loc": { "start": { "line": 247, "column": 6 }, "end": { "line": 247, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7674, "end": 7675, "loc": { "start": { "line": 247, "column": 10 }, "end": { "line": 247, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_calculateCoords", "start": 7675, "end": 7691, "loc": { "start": { "line": 247, "column": 11 }, "end": { "line": 247, "column": 27 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7691, "end": 7692, "loc": { "start": { "line": 247, "column": 27 }, "end": { "line": 247, "column": 28 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7692, "end": 7693, "loc": { "start": { "line": 247, "column": 28 }, "end": { "line": 247, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7693, "end": 7694, "loc": { "start": { "line": 247, "column": 29 }, "end": { "line": 247, "column": 30 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7700, "end": 7701, "loc": { "start": { "line": 248, "column": 5 }, "end": { "line": 248, "column": 6 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7706, "end": 7707, "loc": { "start": { "line": 249, "column": 4 }, "end": { "line": 249, "column": 5 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 7713, "end": 7718, "loc": { "start": { "line": 251, "column": 4 }, "end": { "line": 251, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 7719, "end": 7720, "loc": { "start": { "line": 251, "column": 10 }, "end": { "line": 251, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7726, "end": 7727, "loc": { "start": { "line": 251, "column": 17 }, "end": { "line": 251, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7728, "end": 7732, "loc": { "start": { "line": 251, "column": 19 }, "end": { "line": 251, "column": 23 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7732, "end": 7733, "loc": { "start": { "line": 251, "column": 23 }, "end": { "line": 251, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 7733, "end": 7734, "loc": { "start": { "line": 251, "column": 24 }, "end": { "line": 251, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7734, "end": 7735, "loc": { "start": { "line": 251, "column": 25 }, "end": { "line": 251, "column": 26 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 7740, "end": 7745, "loc": { "start": { "line": 252, "column": 4 }, "end": { "line": 252, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 7746, "end": 7747, "loc": { "start": { "line": 252, "column": 10 }, "end": { "line": 252, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7753, "end": 7754, "loc": { "start": { "line": 252, "column": 17 }, "end": { "line": 252, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7755, "end": 7759, "loc": { "start": { "line": 252, "column": 19 }, "end": { "line": 252, "column": 23 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7759, "end": 7760, "loc": { "start": { "line": 252, "column": 23 }, "end": { "line": 252, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 7760, "end": 7761, "loc": { "start": { "line": 252, "column": 24 }, "end": { "line": 252, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7761, "end": 7762, "loc": { "start": { "line": 252, "column": 25 }, "end": { "line": 252, "column": 26 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 7767, "end": 7772, "loc": { "start": { "line": 253, "column": 4 }, "end": { "line": 253, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 7773, "end": 7779, "loc": { "start": { "line": 253, "column": 10 }, "end": { "line": 253, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7780, "end": 7781, "loc": { "start": { "line": 253, "column": 17 }, "end": { "line": 253, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygon", "start": 7782, "end": 7789, "loc": { "start": { "line": 253, "column": 19 }, "end": { "line": 253, "column": 26 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7790, "end": 7791, "loc": { "start": { "line": 253, "column": 27 }, "end": { "line": 253, "column": 28 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 7792, "end": 7793, "loc": { "start": { "line": 253, "column": 29 }, "end": { "line": 253, "column": 30 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7794, "end": 7795, "loc": { "start": { "line": 253, "column": 31 }, "end": { "line": 253, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7796, "end": 7800, "loc": { "start": { "line": 253, "column": 33 }, "end": { "line": 253, "column": 37 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7800, "end": 7801, "loc": { "start": { "line": 253, "column": 37 }, "end": { "line": 253, "column": 38 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 7801, "end": 7807, "loc": { "start": { "line": 253, "column": 38 }, "end": { "line": 253, "column": 44 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 7808, "end": 7809, "loc": { "start": { "line": 253, "column": 45 }, "end": { "line": 253, "column": 46 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7810, "end": 7814, "loc": { "start": { "line": 253, "column": 47 }, "end": { "line": 253, "column": 51 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7814, "end": 7815, "loc": { "start": { "line": 253, "column": 51 }, "end": { "line": 253, "column": 52 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale", "start": 7815, "end": 7820, "loc": { "start": { "line": 253, "column": 52 }, "end": { "line": 253, "column": 57 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7820, "end": 7821, "loc": { "start": { "line": 253, "column": 57 }, "end": { "line": 253, "column": 58 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 7826, "end": 7831, "loc": { "start": { "line": 254, "column": 4 }, "end": { "line": 254, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_x", "start": 7832, "end": 7837, "loc": { "start": { "line": 254, "column": 10 }, "end": { "line": 254, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7839, "end": 7840, "loc": { "start": { "line": 254, "column": 17 }, "end": { "line": 254, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygon", "start": 7841, "end": 7848, "loc": { "start": { "line": 254, "column": 19 }, "end": { "line": 254, "column": 26 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7849, "end": 7850, "loc": { "start": { "line": 254, "column": 27 }, "end": { "line": 254, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7851, "end": 7855, "loc": { "start": { "line": 254, "column": 29 }, "end": { "line": 254, "column": 33 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7855, "end": 7856, "loc": { "start": { "line": 254, "column": 33 }, "end": { "line": 254, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_min_x", "start": 7856, "end": 7862, "loc": { "start": { "line": 254, "column": 34 }, "end": { "line": 254, "column": 40 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7863, "end": 7864, "loc": { "start": { "line": 254, "column": 41 }, "end": { "line": 254, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 7865, "end": 7866, "loc": { "start": { "line": 254, "column": 43 }, "end": { "line": 254, "column": 44 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 7867, "end": 7868, "loc": { "start": { "line": 254, "column": 45 }, "end": { "line": 254, "column": 46 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 7869, "end": 7875, "loc": { "start": { "line": 254, "column": 47 }, "end": { "line": 254, "column": 53 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7875, "end": 7876, "loc": { "start": { "line": 254, "column": 53 }, "end": { "line": 254, "column": 54 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 7881, "end": 7886, "loc": { "start": { "line": 255, "column": 4 }, "end": { "line": 255, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_y", "start": 7887, "end": 7892, "loc": { "start": { "line": 255, "column": 10 }, "end": { "line": 255, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7894, "end": 7895, "loc": { "start": { "line": 255, "column": 17 }, "end": { "line": 255, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygon", "start": 7896, "end": 7903, "loc": { "start": { "line": 255, "column": 19 }, "end": { "line": 255, "column": 26 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7904, "end": 7905, "loc": { "start": { "line": 255, "column": 27 }, "end": { "line": 255, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7906, "end": 7910, "loc": { "start": { "line": 255, "column": 29 }, "end": { "line": 255, "column": 33 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7910, "end": 7911, "loc": { "start": { "line": 255, "column": 33 }, "end": { "line": 255, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_min_y", "start": 7911, "end": 7917, "loc": { "start": { "line": 255, "column": 34 }, "end": { "line": 255, "column": 40 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7918, "end": 7919, "loc": { "start": { "line": 255, "column": 41 }, "end": { "line": 255, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 7920, "end": 7921, "loc": { "start": { "line": 255, "column": 43 }, "end": { "line": 255, "column": 44 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 7922, "end": 7923, "loc": { "start": { "line": 255, "column": 45 }, "end": { "line": 255, "column": 46 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 7924, "end": 7930, "loc": { "start": { "line": 255, "column": 47 }, "end": { "line": 255, "column": 53 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7930, "end": 7931, "loc": { "start": { "line": 255, "column": 53 }, "end": { "line": 255, "column": 54 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 7936, "end": 7941, "loc": { "start": { "line": 256, "column": 4 }, "end": { "line": 256, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_x", "start": 7942, "end": 7947, "loc": { "start": { "line": 256, "column": 10 }, "end": { "line": 256, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7949, "end": 7950, "loc": { "start": { "line": 256, "column": 17 }, "end": { "line": 256, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygon", "start": 7951, "end": 7958, "loc": { "start": { "line": 256, "column": 19 }, "end": { "line": 256, "column": 26 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7959, "end": 7960, "loc": { "start": { "line": 256, "column": 27 }, "end": { "line": 256, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 7961, "end": 7965, "loc": { "start": { "line": 256, "column": 29 }, "end": { "line": 256, "column": 33 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7965, "end": 7966, "loc": { "start": { "line": 256, "column": 33 }, "end": { "line": 256, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_max_x", "start": 7966, "end": 7972, "loc": { "start": { "line": 256, "column": 34 }, "end": { "line": 256, "column": 40 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7973, "end": 7974, "loc": { "start": { "line": 256, "column": 41 }, "end": { "line": 256, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 7975, "end": 7976, "loc": { "start": { "line": 256, "column": 43 }, "end": { "line": 256, "column": 44 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 7977, "end": 7978, "loc": { "start": { "line": 256, "column": 45 }, "end": { "line": 256, "column": 46 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 7979, "end": 7985, "loc": { "start": { "line": 256, "column": 47 }, "end": { "line": 256, "column": 53 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7985, "end": 7986, "loc": { "start": { "line": 256, "column": 53 }, "end": { "line": 256, "column": 54 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 7991, "end": 7996, "loc": { "start": { "line": 257, "column": 4 }, "end": { "line": 257, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_y", "start": 7997, "end": 8002, "loc": { "start": { "line": 257, "column": 10 }, "end": { "line": 257, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8004, "end": 8005, "loc": { "start": { "line": 257, "column": 17 }, "end": { "line": 257, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygon", "start": 8006, "end": 8013, "loc": { "start": { "line": 257, "column": 19 }, "end": { "line": 257, "column": 26 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8014, "end": 8015, "loc": { "start": { "line": 257, "column": 27 }, "end": { "line": 257, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 8016, "end": 8020, "loc": { "start": { "line": 257, "column": 29 }, "end": { "line": 257, "column": 33 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8020, "end": 8021, "loc": { "start": { "line": 257, "column": 33 }, "end": { "line": 257, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_max_y", "start": 8021, "end": 8027, "loc": { "start": { "line": 257, "column": 34 }, "end": { "line": 257, "column": 40 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8028, "end": 8029, "loc": { "start": { "line": 257, "column": 41 }, "end": { "line": 257, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 8030, "end": 8031, "loc": { "start": { "line": 257, "column": 43 }, "end": { "line": 257, "column": 44 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 8032, "end": 8033, "loc": { "start": { "line": 257, "column": 45 }, "end": { "line": 257, "column": 46 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 8034, "end": 8040, "loc": { "start": { "line": 257, "column": 47 }, "end": { "line": 257, "column": 53 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8040, "end": 8041, "loc": { "start": { "line": 257, "column": 53 }, "end": { "line": 257, "column": 54 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "update", "start": 8047, "end": 8053, "loc": { "start": { "line": 259, "column": 4 }, "end": { "line": 259, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8054, "end": 8055, "loc": { "start": { "line": 259, "column": 11 }, "end": { "line": 259, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_x", "start": 8056, "end": 8061, "loc": { "start": { "line": 259, "column": 13 }, "end": { "line": 259, "column": 18 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 8062, "end": 8063, "loc": { "start": { "line": 259, "column": 19 }, "end": { "line": 259, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 8064, "end": 8068, "loc": { "start": { "line": 259, "column": 21 }, "end": { "line": 259, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8068, "end": 8069, "loc": { "start": { "line": 259, "column": 25 }, "end": { "line": 259, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 8069, "end": 8079, "loc": { "start": { "line": 259, "column": 26 }, "end": { "line": 259, "column": 36 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 8080, "end": 8082, "loc": { "start": { "line": 259, "column": 37 }, "end": { "line": 259, "column": 39 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_y", "start": 8083, "end": 8088, "loc": { "start": { "line": 259, "column": 40 }, "end": { "line": 259, "column": 45 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 8089, "end": 8090, "loc": { "start": { "line": 259, "column": 46 }, "end": { "line": 259, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 8091, "end": 8095, "loc": { "start": { "line": 259, "column": 48 }, "end": { "line": 259, "column": 52 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8095, "end": 8096, "loc": { "start": { "line": 259, "column": 52 }, "end": { "line": 259, "column": 53 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_y", "start": 8096, "end": 8106, "loc": { "start": { "line": 259, "column": 53 }, "end": { "line": 259, "column": 63 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 8107, "end": 8109, "loc": { "start": { "line": 259, "column": 64 }, "end": { "line": 259, "column": 66 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_x", "start": 8110, "end": 8115, "loc": { "start": { "line": 259, "column": 67 }, "end": { "line": 259, "column": 72 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 8116, "end": 8117, "loc": { "start": { "line": 259, "column": 73 }, "end": { "line": 259, "column": 74 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 8118, "end": 8122, "loc": { "start": { "line": 259, "column": 75 }, "end": { "line": 259, "column": 79 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8122, "end": 8123, "loc": { "start": { "line": 259, "column": 79 }, "end": { "line": 259, "column": 80 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_x", "start": 8123, "end": 8133, "loc": { "start": { "line": 259, "column": 80 }, "end": { "line": 259, "column": 90 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 8134, "end": 8136, "loc": { "start": { "line": 259, "column": 91 }, "end": { "line": 259, "column": 93 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_y", "start": 8137, "end": 8142, "loc": { "start": { "line": 259, "column": 94 }, "end": { "line": 259, "column": 99 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 8143, "end": 8144, "loc": { "start": { "line": 259, "column": 100 }, "end": { "line": 259, "column": 101 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 8145, "end": 8149, "loc": { "start": { "line": 259, "column": 102 }, "end": { "line": 259, "column": 106 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8149, "end": 8150, "loc": { "start": { "line": 259, "column": 106 }, "end": { "line": 259, "column": 107 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_y", "start": 8150, "end": 8160, "loc": { "start": { "line": 259, "column": 107 }, "end": { "line": 259, "column": 117 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8160, "end": 8161, "loc": { "start": { "line": 259, "column": 117 }, "end": { "line": 259, "column": 118 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8165, "end": 8166, "loc": { "start": { "line": 260, "column": 3 }, "end": { "line": 260, "column": 4 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 8171, "end": 8173, "loc": { "start": { "line": 262, "column": 3 }, "end": { "line": 262, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8173, "end": 8174, "loc": { "start": { "line": 262, "column": 5 }, "end": { "line": 262, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "update", "start": 8174, "end": 8180, "loc": { "start": { "line": 262, "column": 6 }, "end": { "line": 262, "column": 12 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8180, "end": 8181, "loc": { "start": { "line": 262, "column": 12 }, "end": { "line": 262, "column": 13 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8182, "end": 8183, "loc": { "start": { "line": 262, "column": 14 }, "end": { "line": 262, "column": 15 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 8188, "end": 8192, "loc": { "start": { "line": 263, "column": 4 }, "end": { "line": 263, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8192, "end": 8193, "loc": { "start": { "line": 263, "column": 8 }, "end": { "line": 263, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "remove", "start": 8193, "end": 8199, "loc": { "start": { "line": 263, "column": 9 }, "end": { "line": 263, "column": 15 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8199, "end": 8200, "loc": { "start": { "line": 263, "column": 15 }, "end": { "line": 263, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 8200, "end": 8204, "loc": { "start": { "line": 263, "column": 16 }, "end": { "line": 263, "column": 20 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8204, "end": 8205, "loc": { "start": { "line": 263, "column": 20 }, "end": { "line": 263, "column": 21 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 8206, "end": 8210, "loc": { "start": { "line": 263, "column": 22 }, "end": { "line": 263, "column": 26 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8210, "end": 8211, "loc": { "start": { "line": 263, "column": 26 }, "end": { "line": 263, "column": 27 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8211, "end": 8212, "loc": { "start": { "line": 263, "column": 27 }, "end": { "line": 263, "column": 28 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 8217, "end": 8221, "loc": { "start": { "line": 264, "column": 4 }, "end": { "line": 264, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8221, "end": 8222, "loc": { "start": { "line": 264, "column": 8 }, "end": { "line": 264, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "insert", "start": 8222, "end": 8228, "loc": { "start": { "line": 264, "column": 9 }, "end": { "line": 264, "column": 15 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8228, "end": 8229, "loc": { "start": { "line": 264, "column": 15 }, "end": { "line": 264, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 8229, "end": 8233, "loc": { "start": { "line": 264, "column": 16 }, "end": { "line": 264, "column": 20 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8233, "end": 8234, "loc": { "start": { "line": 264, "column": 20 }, "end": { "line": 264, "column": 21 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 8235, "end": 8239, "loc": { "start": { "line": 264, "column": 22 }, "end": { "line": 264, "column": 26 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8239, "end": 8240, "loc": { "start": { "line": 264, "column": 26 }, "end": { "line": 264, "column": 27 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8240, "end": 8241, "loc": { "start": { "line": 264, "column": 27 }, "end": { "line": 264, "column": 28 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8245, "end": 8246, "loc": { "start": { "line": 265, "column": 3 }, "end": { "line": 265, "column": 4 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8249, "end": 8250, "loc": { "start": { "line": 266, "column": 2 }, "end": { "line": 266, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8252, "end": 8253, "loc": { "start": { "line": 267, "column": 1 }, "end": { "line": 267, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test\n\t * @returns {Array}\n\t ", "start": 8256, "end": 8401, "loc": { "start": { "line": 269, "column": 1 }, "end": { "line": 273, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "potentials", "start": 8403, "end": 8413, "loc": { "start": { "line": 274, "column": 1 }, "end": { "line": 274, "column": 11 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8413, "end": 8414, "loc": { "start": { "line": 274, "column": 11 }, "end": { "line": 274, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 8414, "end": 8418, "loc": { "start": { "line": 274, "column": 12 }, "end": { "line": 274, "column": 16 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8418, "end": 8419, "loc": { "start": { "line": 274, "column": 16 }, "end": { "line": 274, "column": 17 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8420, "end": 8421, "loc": { "start": { "line": 274, "column": 18 }, "end": { "line": 274, "column": 19 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 8424, "end": 8429, "loc": { "start": { "line": 275, "column": 2 }, "end": { "line": 275, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "results", "start": 8430, "end": 8437, "loc": { "start": { "line": 275, "column": 8 }, "end": { "line": 275, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8438, "end": 8439, "loc": { "start": { "line": 275, "column": 16 }, "end": { "line": 275, "column": 17 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8440, "end": 8441, "loc": { "start": { "line": 275, "column": 18 }, "end": { "line": 275, "column": 19 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8441, "end": 8442, "loc": { "start": { "line": 275, "column": 19 }, "end": { "line": 275, "column": 20 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8442, "end": 8443, "loc": { "start": { "line": 275, "column": 20 }, "end": { "line": 275, "column": 21 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 8446, "end": 8451, "loc": { "start": { "line": 276, "column": 2 }, "end": { "line": 276, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_x", "start": 8452, "end": 8457, "loc": { "start": { "line": 276, "column": 8 }, "end": { "line": 276, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8460, "end": 8461, "loc": { "start": { "line": 276, "column": 16 }, "end": { "line": 276, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 8462, "end": 8466, "loc": { "start": { "line": 276, "column": 18 }, "end": { "line": 276, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8466, "end": 8467, "loc": { "start": { "line": 276, "column": 22 }, "end": { "line": 276, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 8467, "end": 8477, "loc": { "start": { "line": 276, "column": 23 }, "end": { "line": 276, "column": 33 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8477, "end": 8478, "loc": { "start": { "line": 276, "column": 33 }, "end": { "line": 276, "column": 34 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 8481, "end": 8486, "loc": { "start": { "line": 277, "column": 2 }, "end": { "line": 277, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_y", "start": 8487, "end": 8492, "loc": { "start": { "line": 277, "column": 8 }, "end": { "line": 277, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8495, "end": 8496, "loc": { "start": { "line": 277, "column": 16 }, "end": { "line": 277, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 8497, "end": 8501, "loc": { "start": { "line": 277, "column": 18 }, "end": { "line": 277, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8501, "end": 8502, "loc": { "start": { "line": 277, "column": 22 }, "end": { "line": 277, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_y", "start": 8502, "end": 8512, "loc": { "start": { "line": 277, "column": 23 }, "end": { "line": 277, "column": 33 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8512, "end": 8513, "loc": { "start": { "line": 277, "column": 33 }, "end": { "line": 277, "column": 34 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 8516, "end": 8521, "loc": { "start": { "line": 278, "column": 2 }, "end": { "line": 278, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_x", "start": 8522, "end": 8527, "loc": { "start": { "line": 278, "column": 8 }, "end": { "line": 278, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8530, "end": 8531, "loc": { "start": { "line": 278, "column": 16 }, "end": { "line": 278, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 8532, "end": 8536, "loc": { "start": { "line": 278, "column": 18 }, "end": { "line": 278, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8536, "end": 8537, "loc": { "start": { "line": 278, "column": 22 }, "end": { "line": 278, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_x", "start": 8537, "end": 8547, "loc": { "start": { "line": 278, "column": 23 }, "end": { "line": 278, "column": 33 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8547, "end": 8548, "loc": { "start": { "line": 278, "column": 33 }, "end": { "line": 278, "column": 34 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 8551, "end": 8556, "loc": { "start": { "line": 279, "column": 2 }, "end": { "line": 279, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_y", "start": 8557, "end": 8562, "loc": { "start": { "line": 279, "column": 8 }, "end": { "line": 279, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8565, "end": 8566, "loc": { "start": { "line": 279, "column": 16 }, "end": { "line": 279, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 8567, "end": 8571, "loc": { "start": { "line": 279, "column": 18 }, "end": { "line": 279, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8571, "end": 8572, "loc": { "start": { "line": 279, "column": 22 }, "end": { "line": 279, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_y", "start": 8572, "end": 8582, "loc": { "start": { "line": 279, "column": 23 }, "end": { "line": 279, "column": 33 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8582, "end": 8583, "loc": { "start": { "line": 279, "column": 33 }, "end": { "line": 279, "column": 34 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 8587, "end": 8590, "loc": { "start": { "line": 281, "column": 2 }, "end": { "line": 281, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 8591, "end": 8598, "loc": { "start": { "line": 281, "column": 6 }, "end": { "line": 281, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8605, "end": 8606, "loc": { "start": { "line": 281, "column": 20 }, "end": { "line": 281, "column": 21 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 8607, "end": 8611, "loc": { "start": { "line": 281, "column": 22 }, "end": { "line": 281, "column": 26 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8611, "end": 8612, "loc": { "start": { "line": 281, "column": 26 }, "end": { "line": 281, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_hierarchy", "start": 8612, "end": 8622, "loc": { "start": { "line": 281, "column": 27 }, "end": { "line": 281, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8622, "end": 8623, "loc": { "start": { "line": 281, "column": 37 }, "end": { "line": 281, "column": 38 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 8626, "end": 8629, "loc": { "start": { "line": 282, "column": 2 }, "end": { "line": 282, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "traverse_left", "start": 8630, "end": 8643, "loc": { "start": { "line": 282, "column": 6 }, "end": { "line": 282, "column": 19 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8644, "end": 8645, "loc": { "start": { "line": 282, "column": 20 }, "end": { "line": 282, "column": 21 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 8646, "end": 8650, "loc": { "start": { "line": 282, "column": 22 }, "end": { "line": 282, "column": 26 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8650, "end": 8651, "loc": { "start": { "line": 282, "column": 26 }, "end": { "line": 282, "column": 27 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 8655, "end": 8657, "loc": { "start": { "line": 284, "column": 2 }, "end": { "line": 284, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8657, "end": 8658, "loc": { "start": { "line": 284, "column": 4 }, "end": { "line": 284, "column": 5 } } }, { "type": { "label": "prefix", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": null, "updateContext": null }, "value": "!", "start": 8658, "end": 8659, "loc": { "start": { "line": 284, "column": 5 }, "end": { "line": 284, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 8659, "end": 8666, "loc": { "start": { "line": 284, "column": 6 }, "end": { "line": 284, "column": 13 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 8667, "end": 8669, "loc": { "start": { "line": 284, "column": 14 }, "end": { "line": 284, "column": 16 } } }, { "type": { "label": "prefix", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": null, "updateContext": null }, "value": "!", "start": 8670, "end": 8671, "loc": { "start": { "line": 284, "column": 17 }, "end": { "line": 284, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 8671, "end": 8678, "loc": { "start": { "line": 284, "column": 18 }, "end": { "line": 284, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8678, "end": 8679, "loc": { "start": { "line": 284, "column": 25 }, "end": { "line": 284, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_branch", "start": 8679, "end": 8690, "loc": { "start": { "line": 284, "column": 26 }, "end": { "line": 284, "column": 37 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8690, "end": 8691, "loc": { "start": { "line": 284, "column": 37 }, "end": { "line": 284, "column": 38 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8692, "end": 8693, "loc": { "start": { "line": 284, "column": 39 }, "end": { "line": 284, "column": 40 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 8697, "end": 8703, "loc": { "start": { "line": 285, "column": 3 }, "end": { "line": 285, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "results", "start": 8704, "end": 8711, "loc": { "start": { "line": 285, "column": 10 }, "end": { "line": 285, "column": 17 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8711, "end": 8712, "loc": { "start": { "line": 285, "column": 17 }, "end": { "line": 285, "column": 18 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8715, "end": 8716, "loc": { "start": { "line": 286, "column": 2 }, "end": { "line": 286, "column": 3 } } }, { "type": { "label": "while", "keyword": "while", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "while", "start": 8720, "end": 8725, "loc": { "start": { "line": 288, "column": 2 }, "end": { "line": 288, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8725, "end": 8726, "loc": { "start": { "line": 288, "column": 7 }, "end": { "line": 288, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 8726, "end": 8733, "loc": { "start": { "line": 288, "column": 8 }, "end": { "line": 288, "column": 15 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8733, "end": 8734, "loc": { "start": { "line": 288, "column": 15 }, "end": { "line": 288, "column": 16 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8735, "end": 8736, "loc": { "start": { "line": 288, "column": 17 }, "end": { "line": 288, "column": 18 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 8740, "end": 8742, "loc": { "start": { "line": 289, "column": 3 }, "end": { "line": 289, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8742, "end": 8743, "loc": { "start": { "line": 289, "column": 5 }, "end": { "line": 289, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "traverse_left", "start": 8743, "end": 8756, "loc": { "start": { "line": 289, "column": 6 }, "end": { "line": 289, "column": 19 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8756, "end": 8757, "loc": { "start": { "line": 289, "column": 19 }, "end": { "line": 289, "column": 20 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8758, "end": 8759, "loc": { "start": { "line": 289, "column": 21 }, "end": { "line": 289, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "traverse_left", "start": 8764, "end": 8777, "loc": { "start": { "line": 290, "column": 4 }, "end": { "line": 290, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8778, "end": 8779, "loc": { "start": { "line": 290, "column": 18 }, "end": { "line": 290, "column": 19 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 8780, "end": 8785, "loc": { "start": { "line": 290, "column": 20 }, "end": { "line": 290, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8785, "end": 8786, "loc": { "start": { "line": 290, "column": 25 }, "end": { "line": 290, "column": 26 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 8792, "end": 8795, "loc": { "start": { "line": 292, "column": 4 }, "end": { "line": 292, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 8796, "end": 8800, "loc": { "start": { "line": 292, "column": 8 }, "end": { "line": 292, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8801, "end": 8802, "loc": { "start": { "line": 292, "column": 13 }, "end": { "line": 292, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 8803, "end": 8810, "loc": { "start": { "line": 292, "column": 15 }, "end": { "line": 292, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8810, "end": 8811, "loc": { "start": { "line": 292, "column": 22 }, "end": { "line": 292, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_branch", "start": 8811, "end": 8822, "loc": { "start": { "line": 292, "column": 23 }, "end": { "line": 292, "column": 34 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8823, "end": 8824, "loc": { "start": { "line": 292, "column": 35 }, "end": { "line": 292, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 8825, "end": 8832, "loc": { "start": { "line": 292, "column": 37 }, "end": { "line": 292, "column": 44 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8832, "end": 8833, "loc": { "start": { "line": 292, "column": 44 }, "end": { "line": 292, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_left", "start": 8833, "end": 8842, "loc": { "start": { "line": 292, "column": 45 }, "end": { "line": 292, "column": 54 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8843, "end": 8844, "loc": { "start": { "line": 292, "column": 55 }, "end": { "line": 292, "column": 56 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 8845, "end": 8849, "loc": { "start": { "line": 292, "column": 57 }, "end": { "line": 292, "column": 61 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8849, "end": 8850, "loc": { "start": { "line": 292, "column": 61 }, "end": { "line": 292, "column": 62 } } }, { "type": { "label": "while", "keyword": "while", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "while", "start": 8856, "end": 8861, "loc": { "start": { "line": 294, "column": 4 }, "end": { "line": 294, "column": 9 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8861, "end": 8862, "loc": { "start": { "line": 294, "column": 9 }, "end": { "line": 294, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 8868, "end": 8872, "loc": { "start": { "line": 295, "column": 5 }, "end": { "line": 295, "column": 9 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 8873, "end": 8875, "loc": { "start": { "line": 295, "column": 10 }, "end": { "line": 295, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 8881, "end": 8885, "loc": { "start": { "line": 296, "column": 5 }, "end": { "line": 296, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8885, "end": 8886, "loc": { "start": { "line": 296, "column": 9 }, "end": { "line": 296, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_x", "start": 8886, "end": 8896, "loc": { "start": { "line": 296, "column": 10 }, "end": { "line": 296, "column": 20 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">=", "start": 8897, "end": 8899, "loc": { "start": { "line": 296, "column": 21 }, "end": { "line": 296, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_x", "start": 8900, "end": 8905, "loc": { "start": { "line": 296, "column": 24 }, "end": { "line": 296, "column": 29 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 8906, "end": 8908, "loc": { "start": { "line": 296, "column": 30 }, "end": { "line": 296, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 8914, "end": 8918, "loc": { "start": { "line": 297, "column": 5 }, "end": { "line": 297, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8918, "end": 8919, "loc": { "start": { "line": 297, "column": 9 }, "end": { "line": 297, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_y", "start": 8919, "end": 8929, "loc": { "start": { "line": 297, "column": 10 }, "end": { "line": 297, "column": 20 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">=", "start": 8930, "end": 8932, "loc": { "start": { "line": 297, "column": 21 }, "end": { "line": 297, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_y", "start": 8933, "end": 8938, "loc": { "start": { "line": 297, "column": 24 }, "end": { "line": 297, "column": 29 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 8939, "end": 8941, "loc": { "start": { "line": 297, "column": 30 }, "end": { "line": 297, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 8947, "end": 8951, "loc": { "start": { "line": 298, "column": 5 }, "end": { "line": 298, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8951, "end": 8952, "loc": { "start": { "line": 298, "column": 9 }, "end": { "line": 298, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 8952, "end": 8962, "loc": { "start": { "line": 298, "column": 10 }, "end": { "line": 298, "column": 20 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<=", "start": 8963, "end": 8965, "loc": { "start": { "line": 298, "column": 21 }, "end": { "line": 298, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_x", "start": 8966, "end": 8971, "loc": { "start": { "line": 298, "column": 24 }, "end": { "line": 298, "column": 29 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 8972, "end": 8974, "loc": { "start": { "line": 298, "column": 30 }, "end": { "line": 298, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 8980, "end": 8984, "loc": { "start": { "line": 299, "column": 5 }, "end": { "line": 299, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8984, "end": 8985, "loc": { "start": { "line": 299, "column": 9 }, "end": { "line": 299, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_y", "start": 8985, "end": 8995, "loc": { "start": { "line": 299, "column": 10 }, "end": { "line": 299, "column": 20 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<=", "start": 8996, "end": 8998, "loc": { "start": { "line": 299, "column": 21 }, "end": { "line": 299, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_y", "start": 8999, "end": 9004, "loc": { "start": { "line": 299, "column": 24 }, "end": { "line": 299, "column": 29 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9009, "end": 9010, "loc": { "start": { "line": 300, "column": 4 }, "end": { "line": 300, "column": 5 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9011, "end": 9012, "loc": { "start": { "line": 300, "column": 6 }, "end": { "line": 300, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 9018, "end": 9025, "loc": { "start": { "line": 301, "column": 5 }, "end": { "line": 301, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9026, "end": 9027, "loc": { "start": { "line": 301, "column": 13 }, "end": { "line": 301, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 9028, "end": 9032, "loc": { "start": { "line": 301, "column": 15 }, "end": { "line": 301, "column": 19 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9032, "end": 9033, "loc": { "start": { "line": 301, "column": 19 }, "end": { "line": 301, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 9039, "end": 9043, "loc": { "start": { "line": 302, "column": 5 }, "end": { "line": 302, "column": 9 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9047, "end": 9048, "loc": { "start": { "line": 302, "column": 13 }, "end": { "line": 302, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 9049, "end": 9056, "loc": { "start": { "line": 302, "column": 15 }, "end": { "line": 302, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9056, "end": 9057, "loc": { "start": { "line": 302, "column": 22 }, "end": { "line": 302, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_branch", "start": 9057, "end": 9068, "loc": { "start": { "line": 302, "column": 23 }, "end": { "line": 302, "column": 34 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9069, "end": 9070, "loc": { "start": { "line": 302, "column": 35 }, "end": { "line": 302, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 9071, "end": 9078, "loc": { "start": { "line": 302, "column": 37 }, "end": { "line": 302, "column": 44 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9078, "end": 9079, "loc": { "start": { "line": 302, "column": 44 }, "end": { "line": 302, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_left", "start": 9079, "end": 9088, "loc": { "start": { "line": 302, "column": 45 }, "end": { "line": 302, "column": 54 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9089, "end": 9090, "loc": { "start": { "line": 302, "column": 55 }, "end": { "line": 302, "column": 56 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 9091, "end": 9095, "loc": { "start": { "line": 302, "column": 57 }, "end": { "line": 302, "column": 61 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9095, "end": 9096, "loc": { "start": { "line": 302, "column": 61 }, "end": { "line": 302, "column": 62 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9101, "end": 9102, "loc": { "start": { "line": 303, "column": 4 }, "end": { "line": 303, "column": 5 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9106, "end": 9107, "loc": { "start": { "line": 304, "column": 3 }, "end": { "line": 304, "column": 4 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 9112, "end": 9117, "loc": { "start": { "line": 306, "column": 3 }, "end": { "line": 306, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch", "start": 9118, "end": 9124, "loc": { "start": { "line": 306, "column": 9 }, "end": { "line": 306, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9125, "end": 9126, "loc": { "start": { "line": 306, "column": 16 }, "end": { "line": 306, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 9127, "end": 9134, "loc": { "start": { "line": 306, "column": 18 }, "end": { "line": 306, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9134, "end": 9135, "loc": { "start": { "line": 306, "column": 25 }, "end": { "line": 306, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_branch", "start": 9135, "end": 9146, "loc": { "start": { "line": 306, "column": 26 }, "end": { "line": 306, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9146, "end": 9147, "loc": { "start": { "line": 306, "column": 37 }, "end": { "line": 306, "column": 38 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 9151, "end": 9156, "loc": { "start": { "line": 307, "column": 3 }, "end": { "line": 307, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 9157, "end": 9162, "loc": { "start": { "line": 307, "column": 9 }, "end": { "line": 307, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9164, "end": 9165, "loc": { "start": { "line": 307, "column": 16 }, "end": { "line": 307, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch", "start": 9166, "end": 9172, "loc": { "start": { "line": 307, "column": 18 }, "end": { "line": 307, "column": 24 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9173, "end": 9174, "loc": { "start": { "line": 307, "column": 25 }, "end": { "line": 307, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 9175, "end": 9182, "loc": { "start": { "line": 307, "column": 27 }, "end": { "line": 307, "column": 34 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9182, "end": 9183, "loc": { "start": { "line": 307, "column": 34 }, "end": { "line": 307, "column": 35 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_right", "start": 9183, "end": 9193, "loc": { "start": { "line": 307, "column": 35 }, "end": { "line": 307, "column": 45 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9194, "end": 9195, "loc": { "start": { "line": 307, "column": 46 }, "end": { "line": 307, "column": 47 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 9196, "end": 9200, "loc": { "start": { "line": 307, "column": 48 }, "end": { "line": 307, "column": 52 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9200, "end": 9201, "loc": { "start": { "line": 307, "column": 52 }, "end": { "line": 307, "column": 53 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 9206, "end": 9208, "loc": { "start": { "line": 309, "column": 3 }, "end": { "line": 309, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9208, "end": 9209, "loc": { "start": { "line": 309, "column": 5 }, "end": { "line": 309, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 9214, "end": 9219, "loc": { "start": { "line": 310, "column": 4 }, "end": { "line": 310, "column": 9 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 9220, "end": 9222, "loc": { "start": { "line": 310, "column": 10 }, "end": { "line": 310, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 9227, "end": 9232, "loc": { "start": { "line": 311, "column": 4 }, "end": { "line": 311, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9232, "end": 9233, "loc": { "start": { "line": 311, "column": 9 }, "end": { "line": 311, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_x", "start": 9233, "end": 9243, "loc": { "start": { "line": 311, "column": 10 }, "end": { "line": 311, "column": 20 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 9244, "end": 9245, "loc": { "start": { "line": 311, "column": 21 }, "end": { "line": 311, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_x", "start": 9246, "end": 9251, "loc": { "start": { "line": 311, "column": 23 }, "end": { "line": 311, "column": 28 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 9252, "end": 9254, "loc": { "start": { "line": 311, "column": 29 }, "end": { "line": 311, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 9259, "end": 9264, "loc": { "start": { "line": 312, "column": 4 }, "end": { "line": 312, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9264, "end": 9265, "loc": { "start": { "line": 312, "column": 9 }, "end": { "line": 312, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_y", "start": 9265, "end": 9275, "loc": { "start": { "line": 312, "column": 10 }, "end": { "line": 312, "column": 20 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 9276, "end": 9277, "loc": { "start": { "line": 312, "column": 21 }, "end": { "line": 312, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_y", "start": 9278, "end": 9283, "loc": { "start": { "line": 312, "column": 23 }, "end": { "line": 312, "column": 28 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 9284, "end": 9286, "loc": { "start": { "line": 312, "column": 29 }, "end": { "line": 312, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 9291, "end": 9296, "loc": { "start": { "line": 313, "column": 4 }, "end": { "line": 313, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9296, "end": 9297, "loc": { "start": { "line": 313, "column": 9 }, "end": { "line": 313, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 9297, "end": 9307, "loc": { "start": { "line": 313, "column": 10 }, "end": { "line": 313, "column": 20 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 9308, "end": 9309, "loc": { "start": { "line": 313, "column": 21 }, "end": { "line": 313, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_x", "start": 9310, "end": 9315, "loc": { "start": { "line": 313, "column": 23 }, "end": { "line": 313, "column": 28 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 9316, "end": 9318, "loc": { "start": { "line": 313, "column": 29 }, "end": { "line": 313, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 9323, "end": 9328, "loc": { "start": { "line": 314, "column": 4 }, "end": { "line": 314, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9328, "end": 9329, "loc": { "start": { "line": 314, "column": 9 }, "end": { "line": 314, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_y", "start": 9329, "end": 9339, "loc": { "start": { "line": 314, "column": 10 }, "end": { "line": 314, "column": 20 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 9340, "end": 9341, "loc": { "start": { "line": 314, "column": 21 }, "end": { "line": 314, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_y", "start": 9342, "end": 9347, "loc": { "start": { "line": 314, "column": 23 }, "end": { "line": 314, "column": 28 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9351, "end": 9352, "loc": { "start": { "line": 315, "column": 3 }, "end": { "line": 315, "column": 4 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9353, "end": 9354, "loc": { "start": { "line": 315, "column": 5 }, "end": { "line": 315, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 9359, "end": 9366, "loc": { "start": { "line": 316, "column": 4 }, "end": { "line": 316, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9373, "end": 9374, "loc": { "start": { "line": 316, "column": 18 }, "end": { "line": 316, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 9375, "end": 9380, "loc": { "start": { "line": 316, "column": 20 }, "end": { "line": 316, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9380, "end": 9381, "loc": { "start": { "line": 316, "column": 25 }, "end": { "line": 316, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "traverse_left", "start": 9386, "end": 9399, "loc": { "start": { "line": 317, "column": 4 }, "end": { "line": 317, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9400, "end": 9401, "loc": { "start": { "line": 317, "column": 18 }, "end": { "line": 317, "column": 19 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 9402, "end": 9406, "loc": { "start": { "line": 317, "column": 20 }, "end": { "line": 317, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9406, "end": 9407, "loc": { "start": { "line": 317, "column": 24 }, "end": { "line": 317, "column": 25 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9411, "end": 9412, "loc": { "start": { "line": 318, "column": 3 }, "end": { "line": 318, "column": 4 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 9416, "end": 9420, "loc": { "start": { "line": 319, "column": 3 }, "end": { "line": 319, "column": 7 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9421, "end": 9422, "loc": { "start": { "line": 319, "column": 8 }, "end": { "line": 319, "column": 9 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 9427, "end": 9429, "loc": { "start": { "line": 320, "column": 4 }, "end": { "line": 320, "column": 6 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9429, "end": 9430, "loc": { "start": { "line": 320, "column": 6 }, "end": { "line": 320, "column": 7 } } }, { "type": { "label": "prefix", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": null, "updateContext": null }, "value": "!", "start": 9430, "end": 9431, "loc": { "start": { "line": 320, "column": 7 }, "end": { "line": 320, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch", "start": 9431, "end": 9437, "loc": { "start": { "line": 320, "column": 8 }, "end": { "line": 320, "column": 14 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 9438, "end": 9440, "loc": { "start": { "line": 320, "column": 15 }, "end": { "line": 320, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 9441, "end": 9448, "loc": { "start": { "line": 320, "column": 18 }, "end": { "line": 320, "column": 25 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 9449, "end": 9452, "loc": { "start": { "line": 320, "column": 26 }, "end": { "line": 320, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "body", "start": 9453, "end": 9457, "loc": { "start": { "line": 320, "column": 30 }, "end": { "line": 320, "column": 34 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9457, "end": 9458, "loc": { "start": { "line": 320, "column": 34 }, "end": { "line": 320, "column": 35 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9459, "end": 9460, "loc": { "start": { "line": 320, "column": 36 }, "end": { "line": 320, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "results", "start": 9466, "end": 9473, "loc": { "start": { "line": 321, "column": 5 }, "end": { "line": 321, "column": 12 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9473, "end": 9474, "loc": { "start": { "line": 321, "column": 12 }, "end": { "line": 321, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "push", "start": 9474, "end": 9478, "loc": { "start": { "line": 321, "column": 13 }, "end": { "line": 321, "column": 17 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9478, "end": 9479, "loc": { "start": { "line": 321, "column": 17 }, "end": { "line": 321, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 9479, "end": 9486, "loc": { "start": { "line": 321, "column": 18 }, "end": { "line": 321, "column": 25 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9486, "end": 9487, "loc": { "start": { "line": 321, "column": 25 }, "end": { "line": 321, "column": 26 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9487, "end": 9488, "loc": { "start": { "line": 321, "column": 26 }, "end": { "line": 321, "column": 27 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9493, "end": 9494, "loc": { "start": { "line": 322, "column": 4 }, "end": { "line": 322, "column": 5 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 9500, "end": 9503, "loc": { "start": { "line": 324, "column": 4 }, "end": { "line": 324, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 9504, "end": 9510, "loc": { "start": { "line": 324, "column": 8 }, "end": { "line": 324, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9511, "end": 9512, "loc": { "start": { "line": 324, "column": 15 }, "end": { "line": 324, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 9513, "end": 9520, "loc": { "start": { "line": 324, "column": 17 }, "end": { "line": 324, "column": 24 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9520, "end": 9521, "loc": { "start": { "line": 324, "column": 24 }, "end": { "line": 324, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_parent", "start": 9521, "end": 9532, "loc": { "start": { "line": 324, "column": 25 }, "end": { "line": 324, "column": 36 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9532, "end": 9533, "loc": { "start": { "line": 324, "column": 36 }, "end": { "line": 324, "column": 37 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 9539, "end": 9541, "loc": { "start": { "line": 326, "column": 4 }, "end": { "line": 326, "column": 6 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9541, "end": 9542, "loc": { "start": { "line": 326, "column": 6 }, "end": { "line": 326, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 9542, "end": 9548, "loc": { "start": { "line": 326, "column": 7 }, "end": { "line": 326, "column": 13 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9548, "end": 9549, "loc": { "start": { "line": 326, "column": 13 }, "end": { "line": 326, "column": 14 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9550, "end": 9551, "loc": { "start": { "line": 326, "column": 15 }, "end": { "line": 326, "column": 16 } } }, { "type": { "label": "while", "keyword": "while", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "while", "start": 9557, "end": 9562, "loc": { "start": { "line": 327, "column": 5 }, "end": { "line": 327, "column": 10 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9562, "end": 9563, "loc": { "start": { "line": 327, "column": 10 }, "end": { "line": 327, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 9563, "end": 9569, "loc": { "start": { "line": 327, "column": 11 }, "end": { "line": 327, "column": 17 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 9570, "end": 9572, "loc": { "start": { "line": 327, "column": 18 }, "end": { "line": 327, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 9573, "end": 9579, "loc": { "start": { "line": 327, "column": 21 }, "end": { "line": 327, "column": 27 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9579, "end": 9580, "loc": { "start": { "line": 327, "column": 27 }, "end": { "line": 327, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_right", "start": 9580, "end": 9590, "loc": { "start": { "line": 327, "column": 28 }, "end": { "line": 327, "column": 38 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 9591, "end": 9594, "loc": { "start": { "line": 327, "column": 39 }, "end": { "line": 327, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 9595, "end": 9602, "loc": { "start": { "line": 327, "column": 43 }, "end": { "line": 327, "column": 50 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9602, "end": 9603, "loc": { "start": { "line": 327, "column": 50 }, "end": { "line": 327, "column": 51 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9604, "end": 9605, "loc": { "start": { "line": 327, "column": 52 }, "end": { "line": 327, "column": 53 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 9612, "end": 9619, "loc": { "start": { "line": 328, "column": 6 }, "end": { "line": 328, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9620, "end": 9621, "loc": { "start": { "line": 328, "column": 14 }, "end": { "line": 328, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 9622, "end": 9628, "loc": { "start": { "line": 328, "column": 16 }, "end": { "line": 328, "column": 22 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9628, "end": 9629, "loc": { "start": { "line": 328, "column": 22 }, "end": { "line": 328, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 9636, "end": 9642, "loc": { "start": { "line": 329, "column": 6 }, "end": { "line": 329, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9644, "end": 9645, "loc": { "start": { "line": 329, "column": 14 }, "end": { "line": 329, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 9646, "end": 9653, "loc": { "start": { "line": 329, "column": 16 }, "end": { "line": 329, "column": 23 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9653, "end": 9654, "loc": { "start": { "line": 329, "column": 23 }, "end": { "line": 329, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_parent", "start": 9654, "end": 9665, "loc": { "start": { "line": 329, "column": 24 }, "end": { "line": 329, "column": 35 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9665, "end": 9666, "loc": { "start": { "line": 329, "column": 35 }, "end": { "line": 329, "column": 36 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9672, "end": 9673, "loc": { "start": { "line": 330, "column": 5 }, "end": { "line": 330, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 9680, "end": 9687, "loc": { "start": { "line": 332, "column": 5 }, "end": { "line": 332, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9688, "end": 9689, "loc": { "start": { "line": 332, "column": 13 }, "end": { "line": 332, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 9690, "end": 9696, "loc": { "start": { "line": 332, "column": 15 }, "end": { "line": 332, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9696, "end": 9697, "loc": { "start": { "line": 332, "column": 21 }, "end": { "line": 332, "column": 22 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9702, "end": 9703, "loc": { "start": { "line": 333, "column": 4 }, "end": { "line": 333, "column": 5 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 9708, "end": 9712, "loc": { "start": { "line": 334, "column": 4 }, "end": { "line": 334, "column": 8 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9713, "end": 9714, "loc": { "start": { "line": 334, "column": 9 }, "end": { "line": 334, "column": 10 } } }, { "type": { "label": "break", "keyword": "break", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "break", "start": 9720, "end": 9725, "loc": { "start": { "line": 335, "column": 5 }, "end": { "line": 335, "column": 10 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9725, "end": 9726, "loc": { "start": { "line": 335, "column": 10 }, "end": { "line": 335, "column": 11 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9731, "end": 9732, "loc": { "start": { "line": 336, "column": 4 }, "end": { "line": 336, "column": 5 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9736, "end": 9737, "loc": { "start": { "line": 337, "column": 3 }, "end": { "line": 337, "column": 4 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9740, "end": 9741, "loc": { "start": { "line": 338, "column": 2 }, "end": { "line": 338, "column": 3 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 9745, "end": 9751, "loc": { "start": { "line": 340, "column": 2 }, "end": { "line": 340, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "results", "start": 9752, "end": 9759, "loc": { "start": { "line": 340, "column": 9 }, "end": { "line": 340, "column": 16 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9759, "end": 9760, "loc": { "start": { "line": 340, "column": 16 }, "end": { "line": 340, "column": 17 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9762, "end": 9763, "loc": { "start": { "line": 341, "column": 1 }, "end": { "line": 341, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Draws the bodies within the BVH to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 9766, "end": 9924, "loc": { "start": { "line": 343, "column": 1 }, "end": { "line": 346, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "draw", "start": 9926, "end": 9930, "loc": { "start": { "line": 347, "column": 1 }, "end": { "line": 347, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9930, "end": 9931, "loc": { "start": { "line": 347, "column": 5 }, "end": { "line": 347, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 9931, "end": 9938, "loc": { "start": { "line": 347, "column": 6 }, "end": { "line": 347, "column": 13 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9938, "end": 9939, "loc": { "start": { "line": 347, "column": 13 }, "end": { "line": 347, "column": 14 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9940, "end": 9941, "loc": { "start": { "line": 347, "column": 15 }, "end": { "line": 347, "column": 16 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 9944, "end": 9949, "loc": { "start": { "line": 348, "column": 2 }, "end": { "line": 348, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bodies", "start": 9950, "end": 9956, "loc": { "start": { "line": 348, "column": 8 }, "end": { "line": 348, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9957, "end": 9958, "loc": { "start": { "line": 348, "column": 15 }, "end": { "line": 348, "column": 16 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 9959, "end": 9963, "loc": { "start": { "line": 348, "column": 17 }, "end": { "line": 348, "column": 21 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9963, "end": 9964, "loc": { "start": { "line": 348, "column": 21 }, "end": { "line": 348, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bodies", "start": 9964, "end": 9971, "loc": { "start": { "line": 348, "column": 22 }, "end": { "line": 348, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9971, "end": 9972, "loc": { "start": { "line": 348, "column": 29 }, "end": { "line": 348, "column": 30 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 9975, "end": 9980, "loc": { "start": { "line": 349, "column": 2 }, "end": { "line": 349, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 9981, "end": 9986, "loc": { "start": { "line": 349, "column": 8 }, "end": { "line": 349, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9988, "end": 9989, "loc": { "start": { "line": 349, "column": 15 }, "end": { "line": 349, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bodies", "start": 9990, "end": 9996, "loc": { "start": { "line": 349, "column": 17 }, "end": { "line": 349, "column": 23 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9996, "end": 9997, "loc": { "start": { "line": 349, "column": 23 }, "end": { "line": 349, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 9997, "end": 10003, "loc": { "start": { "line": 349, "column": 24 }, "end": { "line": 349, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10003, "end": 10004, "loc": { "start": { "line": 349, "column": 30 }, "end": { "line": 349, "column": 31 } } }, { "type": { "label": "for", "keyword": "for", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "for", "start": 10008, "end": 10011, "loc": { "start": { "line": 351, "column": 2 }, "end": { "line": 351, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10011, "end": 10012, "loc": { "start": { "line": 351, "column": 5 }, "end": { "line": 351, "column": 6 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 10012, "end": 10015, "loc": { "start": { "line": 351, "column": 6 }, "end": { "line": 351, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 10016, "end": 10017, "loc": { "start": { "line": 351, "column": 10 }, "end": { "line": 351, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10018, "end": 10019, "loc": { "start": { "line": 351, "column": 12 }, "end": { "line": 351, "column": 13 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 10020, "end": 10021, "loc": { "start": { "line": 351, "column": 14 }, "end": { "line": 351, "column": 15 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10021, "end": 10022, "loc": { "start": { "line": 351, "column": 15 }, "end": { "line": 351, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 10023, "end": 10024, "loc": { "start": { "line": 351, "column": 17 }, "end": { "line": 351, "column": 18 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 10025, "end": 10026, "loc": { "start": { "line": 351, "column": 19 }, "end": { "line": 351, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 10027, "end": 10032, "loc": { "start": { "line": 351, "column": 21 }, "end": { "line": 351, "column": 26 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10032, "end": 10033, "loc": { "start": { "line": 351, "column": 26 }, "end": { "line": 351, "column": 27 } } }, { "type": { "label": "++/--", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": true, "binop": null }, "value": "++", "start": 10034, "end": 10036, "loc": { "start": { "line": 351, "column": 28 }, "end": { "line": 351, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 10036, "end": 10037, "loc": { "start": { "line": 351, "column": 30 }, "end": { "line": 351, "column": 31 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10037, "end": 10038, "loc": { "start": { "line": 351, "column": 31 }, "end": { "line": 351, "column": 32 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10039, "end": 10040, "loc": { "start": { "line": 351, "column": 33 }, "end": { "line": 351, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bodies", "start": 10044, "end": 10050, "loc": { "start": { "line": 352, "column": 3 }, "end": { "line": 352, "column": 9 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10050, "end": 10051, "loc": { "start": { "line": 352, "column": 9 }, "end": { "line": 352, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 10051, "end": 10052, "loc": { "start": { "line": 352, "column": 10 }, "end": { "line": 352, "column": 11 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10052, "end": 10053, "loc": { "start": { "line": 352, "column": 11 }, "end": { "line": 352, "column": 12 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10053, "end": 10054, "loc": { "start": { "line": 352, "column": 12 }, "end": { "line": 352, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "draw", "start": 10054, "end": 10058, "loc": { "start": { "line": 352, "column": 13 }, "end": { "line": 352, "column": 17 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10058, "end": 10059, "loc": { "start": { "line": 352, "column": 17 }, "end": { "line": 352, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 10059, "end": 10066, "loc": { "start": { "line": 352, "column": 18 }, "end": { "line": 352, "column": 25 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10066, "end": 10067, "loc": { "start": { "line": 352, "column": 25 }, "end": { "line": 352, "column": 26 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10067, "end": 10068, "loc": { "start": { "line": 352, "column": 26 }, "end": { "line": 352, "column": 27 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10071, "end": 10072, "loc": { "start": { "line": 353, "column": 2 }, "end": { "line": 353, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10074, "end": 10075, "loc": { "start": { "line": 354, "column": 1 }, "end": { "line": 354, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Draws the BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t ", "start": 10078, "end": 10287, "loc": { "start": { "line": 356, "column": 1 }, "end": { "line": 359, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "drawBVH", "start": 10289, "end": 10296, "loc": { "start": { "line": 360, "column": 1 }, "end": { "line": 360, "column": 8 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10296, "end": 10297, "loc": { "start": { "line": 360, "column": 8 }, "end": { "line": 360, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 10297, "end": 10304, "loc": { "start": { "line": 360, "column": 9 }, "end": { "line": 360, "column": 16 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10304, "end": 10305, "loc": { "start": { "line": 360, "column": 16 }, "end": { "line": 360, "column": 17 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10306, "end": 10307, "loc": { "start": { "line": 360, "column": 18 }, "end": { "line": 360, "column": 19 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 10310, "end": 10313, "loc": { "start": { "line": 361, "column": 2 }, "end": { "line": 361, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 10314, "end": 10321, "loc": { "start": { "line": 361, "column": 6 }, "end": { "line": 361, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10328, "end": 10329, "loc": { "start": { "line": 361, "column": 20 }, "end": { "line": 361, "column": 21 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 10330, "end": 10334, "loc": { "start": { "line": 361, "column": 22 }, "end": { "line": 361, "column": 26 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10334, "end": 10335, "loc": { "start": { "line": 361, "column": 26 }, "end": { "line": 361, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_hierarchy", "start": 10335, "end": 10345, "loc": { "start": { "line": 361, "column": 27 }, "end": { "line": 361, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10345, "end": 10346, "loc": { "start": { "line": 361, "column": 37 }, "end": { "line": 361, "column": 38 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 10349, "end": 10352, "loc": { "start": { "line": 362, "column": 2 }, "end": { "line": 362, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "traverse_left", "start": 10353, "end": 10366, "loc": { "start": { "line": 362, "column": 6 }, "end": { "line": 362, "column": 19 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10367, "end": 10368, "loc": { "start": { "line": 362, "column": 20 }, "end": { "line": 362, "column": 21 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 10369, "end": 10373, "loc": { "start": { "line": 362, "column": 22 }, "end": { "line": 362, "column": 26 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10373, "end": 10374, "loc": { "start": { "line": 362, "column": 26 }, "end": { "line": 362, "column": 27 } } }, { "type": { "label": "while", "keyword": "while", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "while", "start": 10378, "end": 10383, "loc": { "start": { "line": 364, "column": 2 }, "end": { "line": 364, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10383, "end": 10384, "loc": { "start": { "line": 364, "column": 7 }, "end": { "line": 364, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 10384, "end": 10391, "loc": { "start": { "line": 364, "column": 8 }, "end": { "line": 364, "column": 15 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10391, "end": 10392, "loc": { "start": { "line": 364, "column": 15 }, "end": { "line": 364, "column": 16 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10393, "end": 10394, "loc": { "start": { "line": 364, "column": 17 }, "end": { "line": 364, "column": 18 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 10398, "end": 10400, "loc": { "start": { "line": 365, "column": 3 }, "end": { "line": 365, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10400, "end": 10401, "loc": { "start": { "line": 365, "column": 5 }, "end": { "line": 365, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "traverse_left", "start": 10401, "end": 10414, "loc": { "start": { "line": 365, "column": 6 }, "end": { "line": 365, "column": 19 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10414, "end": 10415, "loc": { "start": { "line": 365, "column": 19 }, "end": { "line": 365, "column": 20 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10416, "end": 10417, "loc": { "start": { "line": 365, "column": 21 }, "end": { "line": 365, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "traverse_left", "start": 10422, "end": 10435, "loc": { "start": { "line": 366, "column": 4 }, "end": { "line": 366, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10436, "end": 10437, "loc": { "start": { "line": 366, "column": 18 }, "end": { "line": 366, "column": 19 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 10438, "end": 10443, "loc": { "start": { "line": 366, "column": 20 }, "end": { "line": 366, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10443, "end": 10444, "loc": { "start": { "line": 366, "column": 25 }, "end": { "line": 366, "column": 26 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 10450, "end": 10453, "loc": { "start": { "line": 368, "column": 4 }, "end": { "line": 368, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 10454, "end": 10458, "loc": { "start": { "line": 368, "column": 8 }, "end": { "line": 368, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10459, "end": 10460, "loc": { "start": { "line": 368, "column": 13 }, "end": { "line": 368, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 10461, "end": 10468, "loc": { "start": { "line": 368, "column": 15 }, "end": { "line": 368, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10468, "end": 10469, "loc": { "start": { "line": 368, "column": 22 }, "end": { "line": 368, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_branch", "start": 10469, "end": 10480, "loc": { "start": { "line": 368, "column": 23 }, "end": { "line": 368, "column": 34 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10481, "end": 10482, "loc": { "start": { "line": 368, "column": 35 }, "end": { "line": 368, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 10483, "end": 10490, "loc": { "start": { "line": 368, "column": 37 }, "end": { "line": 368, "column": 44 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10490, "end": 10491, "loc": { "start": { "line": 368, "column": 44 }, "end": { "line": 368, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_left", "start": 10491, "end": 10500, "loc": { "start": { "line": 368, "column": 45 }, "end": { "line": 368, "column": 54 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10501, "end": 10502, "loc": { "start": { "line": 368, "column": 55 }, "end": { "line": 368, "column": 56 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 10503, "end": 10507, "loc": { "start": { "line": 368, "column": 57 }, "end": { "line": 368, "column": 61 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10507, "end": 10508, "loc": { "start": { "line": 368, "column": 61 }, "end": { "line": 368, "column": 62 } } }, { "type": { "label": "while", "keyword": "while", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "while", "start": 10514, "end": 10519, "loc": { "start": { "line": 370, "column": 4 }, "end": { "line": 370, "column": 9 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10519, "end": 10520, "loc": { "start": { "line": 370, "column": 9 }, "end": { "line": 370, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 10520, "end": 10524, "loc": { "start": { "line": 370, "column": 10 }, "end": { "line": 370, "column": 14 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10524, "end": 10525, "loc": { "start": { "line": 370, "column": 14 }, "end": { "line": 370, "column": 15 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10526, "end": 10527, "loc": { "start": { "line": 370, "column": 16 }, "end": { "line": 370, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 10533, "end": 10540, "loc": { "start": { "line": 371, "column": 5 }, "end": { "line": 371, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10541, "end": 10542, "loc": { "start": { "line": 371, "column": 13 }, "end": { "line": 371, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 10543, "end": 10547, "loc": { "start": { "line": 371, "column": 15 }, "end": { "line": 371, "column": 19 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10547, "end": 10548, "loc": { "start": { "line": 371, "column": 19 }, "end": { "line": 371, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 10554, "end": 10558, "loc": { "start": { "line": 372, "column": 5 }, "end": { "line": 372, "column": 9 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10562, "end": 10563, "loc": { "start": { "line": 372, "column": 13 }, "end": { "line": 372, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 10564, "end": 10571, "loc": { "start": { "line": 372, "column": 15 }, "end": { "line": 372, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10571, "end": 10572, "loc": { "start": { "line": 372, "column": 22 }, "end": { "line": 372, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_branch", "start": 10572, "end": 10583, "loc": { "start": { "line": 372, "column": 23 }, "end": { "line": 372, "column": 34 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10584, "end": 10585, "loc": { "start": { "line": 372, "column": 35 }, "end": { "line": 372, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 10586, "end": 10593, "loc": { "start": { "line": 372, "column": 37 }, "end": { "line": 372, "column": 44 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10593, "end": 10594, "loc": { "start": { "line": 372, "column": 44 }, "end": { "line": 372, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_left", "start": 10594, "end": 10603, "loc": { "start": { "line": 372, "column": 45 }, "end": { "line": 372, "column": 54 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10604, "end": 10605, "loc": { "start": { "line": 372, "column": 55 }, "end": { "line": 372, "column": 56 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 10606, "end": 10610, "loc": { "start": { "line": 372, "column": 57 }, "end": { "line": 372, "column": 61 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10610, "end": 10611, "loc": { "start": { "line": 372, "column": 61 }, "end": { "line": 372, "column": 62 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10616, "end": 10617, "loc": { "start": { "line": 373, "column": 4 }, "end": { "line": 373, "column": 5 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10621, "end": 10622, "loc": { "start": { "line": 374, "column": 3 }, "end": { "line": 374, "column": 4 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 10627, "end": 10632, "loc": { "start": { "line": 376, "column": 3 }, "end": { "line": 376, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch", "start": 10633, "end": 10639, "loc": { "start": { "line": 376, "column": 9 }, "end": { "line": 376, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10640, "end": 10641, "loc": { "start": { "line": 376, "column": 16 }, "end": { "line": 376, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 10642, "end": 10649, "loc": { "start": { "line": 376, "column": 18 }, "end": { "line": 376, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10649, "end": 10650, "loc": { "start": { "line": 376, "column": 25 }, "end": { "line": 376, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_branch", "start": 10650, "end": 10661, "loc": { "start": { "line": 376, "column": 26 }, "end": { "line": 376, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10661, "end": 10662, "loc": { "start": { "line": 376, "column": 37 }, "end": { "line": 376, "column": 38 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 10666, "end": 10671, "loc": { "start": { "line": 377, "column": 3 }, "end": { "line": 377, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_x", "start": 10672, "end": 10677, "loc": { "start": { "line": 377, "column": 9 }, "end": { "line": 377, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10679, "end": 10680, "loc": { "start": { "line": 377, "column": 16 }, "end": { "line": 377, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 10681, "end": 10688, "loc": { "start": { "line": 377, "column": 18 }, "end": { "line": 377, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10688, "end": 10689, "loc": { "start": { "line": 377, "column": 25 }, "end": { "line": 377, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 10689, "end": 10699, "loc": { "start": { "line": 377, "column": 26 }, "end": { "line": 377, "column": 36 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10699, "end": 10700, "loc": { "start": { "line": 377, "column": 36 }, "end": { "line": 377, "column": 37 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 10704, "end": 10709, "loc": { "start": { "line": 378, "column": 3 }, "end": { "line": 378, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_y", "start": 10710, "end": 10715, "loc": { "start": { "line": 378, "column": 9 }, "end": { "line": 378, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10717, "end": 10718, "loc": { "start": { "line": 378, "column": 16 }, "end": { "line": 378, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 10719, "end": 10726, "loc": { "start": { "line": 378, "column": 18 }, "end": { "line": 378, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10726, "end": 10727, "loc": { "start": { "line": 378, "column": 25 }, "end": { "line": 378, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_y", "start": 10727, "end": 10737, "loc": { "start": { "line": 378, "column": 26 }, "end": { "line": 378, "column": 36 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10737, "end": 10738, "loc": { "start": { "line": 378, "column": 36 }, "end": { "line": 378, "column": 37 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 10742, "end": 10747, "loc": { "start": { "line": 379, "column": 3 }, "end": { "line": 379, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_x", "start": 10748, "end": 10753, "loc": { "start": { "line": 379, "column": 9 }, "end": { "line": 379, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10755, "end": 10756, "loc": { "start": { "line": 379, "column": 16 }, "end": { "line": 379, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 10757, "end": 10764, "loc": { "start": { "line": 379, "column": 18 }, "end": { "line": 379, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10764, "end": 10765, "loc": { "start": { "line": 379, "column": 25 }, "end": { "line": 379, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_x", "start": 10765, "end": 10775, "loc": { "start": { "line": 379, "column": 26 }, "end": { "line": 379, "column": 36 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10775, "end": 10776, "loc": { "start": { "line": 379, "column": 36 }, "end": { "line": 379, "column": 37 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 10780, "end": 10785, "loc": { "start": { "line": 380, "column": 3 }, "end": { "line": 380, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_y", "start": 10786, "end": 10791, "loc": { "start": { "line": 380, "column": 9 }, "end": { "line": 380, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10793, "end": 10794, "loc": { "start": { "line": 380, "column": 16 }, "end": { "line": 380, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 10795, "end": 10802, "loc": { "start": { "line": 380, "column": 18 }, "end": { "line": 380, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10802, "end": 10803, "loc": { "start": { "line": 380, "column": 25 }, "end": { "line": 380, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_y", "start": 10803, "end": 10813, "loc": { "start": { "line": 380, "column": 26 }, "end": { "line": 380, "column": 36 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10813, "end": 10814, "loc": { "start": { "line": 380, "column": 36 }, "end": { "line": 380, "column": 37 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 10818, "end": 10823, "loc": { "start": { "line": 381, "column": 3 }, "end": { "line": 381, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 10824, "end": 10829, "loc": { "start": { "line": 381, "column": 9 }, "end": { "line": 381, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10831, "end": 10832, "loc": { "start": { "line": 381, "column": 16 }, "end": { "line": 381, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch", "start": 10833, "end": 10839, "loc": { "start": { "line": 381, "column": 18 }, "end": { "line": 381, "column": 24 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10840, "end": 10841, "loc": { "start": { "line": 381, "column": 25 }, "end": { "line": 381, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 10842, "end": 10849, "loc": { "start": { "line": 381, "column": 27 }, "end": { "line": 381, "column": 34 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10849, "end": 10850, "loc": { "start": { "line": 381, "column": 34 }, "end": { "line": 381, "column": 35 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_right", "start": 10850, "end": 10860, "loc": { "start": { "line": 381, "column": 35 }, "end": { "line": 381, "column": 45 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10861, "end": 10862, "loc": { "start": { "line": 381, "column": 46 }, "end": { "line": 381, "column": 47 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 10863, "end": 10867, "loc": { "start": { "line": 381, "column": 48 }, "end": { "line": 381, "column": 52 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10867, "end": 10868, "loc": { "start": { "line": 381, "column": 52 }, "end": { "line": 381, "column": 53 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 10873, "end": 10880, "loc": { "start": { "line": 383, "column": 3 }, "end": { "line": 383, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10880, "end": 10881, "loc": { "start": { "line": 383, "column": 10 }, "end": { "line": 383, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "moveTo", "start": 10881, "end": 10887, "loc": { "start": { "line": 383, "column": 11 }, "end": { "line": 383, "column": 17 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10887, "end": 10888, "loc": { "start": { "line": 383, "column": 17 }, "end": { "line": 383, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_x", "start": 10888, "end": 10893, "loc": { "start": { "line": 383, "column": 18 }, "end": { "line": 383, "column": 23 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10893, "end": 10894, "loc": { "start": { "line": 383, "column": 23 }, "end": { "line": 383, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_y", "start": 10895, "end": 10900, "loc": { "start": { "line": 383, "column": 25 }, "end": { "line": 383, "column": 30 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10900, "end": 10901, "loc": { "start": { "line": 383, "column": 30 }, "end": { "line": 383, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10901, "end": 10902, "loc": { "start": { "line": 383, "column": 31 }, "end": { "line": 383, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 10906, "end": 10913, "loc": { "start": { "line": 384, "column": 3 }, "end": { "line": 384, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10913, "end": 10914, "loc": { "start": { "line": 384, "column": 10 }, "end": { "line": 384, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "lineTo", "start": 10914, "end": 10920, "loc": { "start": { "line": 384, "column": 11 }, "end": { "line": 384, "column": 17 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10920, "end": 10921, "loc": { "start": { "line": 384, "column": 17 }, "end": { "line": 384, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_x", "start": 10921, "end": 10926, "loc": { "start": { "line": 384, "column": 18 }, "end": { "line": 384, "column": 23 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10926, "end": 10927, "loc": { "start": { "line": 384, "column": 23 }, "end": { "line": 384, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_y", "start": 10928, "end": 10933, "loc": { "start": { "line": 384, "column": 25 }, "end": { "line": 384, "column": 30 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10933, "end": 10934, "loc": { "start": { "line": 384, "column": 30 }, "end": { "line": 384, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10934, "end": 10935, "loc": { "start": { "line": 384, "column": 31 }, "end": { "line": 384, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 10939, "end": 10946, "loc": { "start": { "line": 385, "column": 3 }, "end": { "line": 385, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10946, "end": 10947, "loc": { "start": { "line": 385, "column": 10 }, "end": { "line": 385, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "lineTo", "start": 10947, "end": 10953, "loc": { "start": { "line": 385, "column": 11 }, "end": { "line": 385, "column": 17 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10953, "end": 10954, "loc": { "start": { "line": 385, "column": 17 }, "end": { "line": 385, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_x", "start": 10954, "end": 10959, "loc": { "start": { "line": 385, "column": 18 }, "end": { "line": 385, "column": 23 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10959, "end": 10960, "loc": { "start": { "line": 385, "column": 23 }, "end": { "line": 385, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_y", "start": 10961, "end": 10966, "loc": { "start": { "line": 385, "column": 25 }, "end": { "line": 385, "column": 30 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10966, "end": 10967, "loc": { "start": { "line": 385, "column": 30 }, "end": { "line": 385, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10967, "end": 10968, "loc": { "start": { "line": 385, "column": 31 }, "end": { "line": 385, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 10972, "end": 10979, "loc": { "start": { "line": 386, "column": 3 }, "end": { "line": 386, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10979, "end": 10980, "loc": { "start": { "line": 386, "column": 10 }, "end": { "line": 386, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "lineTo", "start": 10980, "end": 10986, "loc": { "start": { "line": 386, "column": 11 }, "end": { "line": 386, "column": 17 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10986, "end": 10987, "loc": { "start": { "line": 386, "column": 17 }, "end": { "line": 386, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_x", "start": 10987, "end": 10992, "loc": { "start": { "line": 386, "column": 18 }, "end": { "line": 386, "column": 23 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10992, "end": 10993, "loc": { "start": { "line": 386, "column": 23 }, "end": { "line": 386, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_y", "start": 10994, "end": 10999, "loc": { "start": { "line": 386, "column": 25 }, "end": { "line": 386, "column": 30 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10999, "end": 11000, "loc": { "start": { "line": 386, "column": 30 }, "end": { "line": 386, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11000, "end": 11001, "loc": { "start": { "line": 386, "column": 31 }, "end": { "line": 386, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 11005, "end": 11012, "loc": { "start": { "line": 387, "column": 3 }, "end": { "line": 387, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11012, "end": 11013, "loc": { "start": { "line": 387, "column": 10 }, "end": { "line": 387, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "lineTo", "start": 11013, "end": 11019, "loc": { "start": { "line": 387, "column": 11 }, "end": { "line": 387, "column": 17 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11019, "end": 11020, "loc": { "start": { "line": 387, "column": 17 }, "end": { "line": 387, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_x", "start": 11020, "end": 11025, "loc": { "start": { "line": 387, "column": 18 }, "end": { "line": 387, "column": 23 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11025, "end": 11026, "loc": { "start": { "line": 387, "column": 23 }, "end": { "line": 387, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_y", "start": 11027, "end": 11032, "loc": { "start": { "line": 387, "column": 25 }, "end": { "line": 387, "column": 30 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11032, "end": 11033, "loc": { "start": { "line": 387, "column": 30 }, "end": { "line": 387, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11033, "end": 11034, "loc": { "start": { "line": 387, "column": 31 }, "end": { "line": 387, "column": 32 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 11039, "end": 11041, "loc": { "start": { "line": 389, "column": 3 }, "end": { "line": 389, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11041, "end": 11042, "loc": { "start": { "line": 389, "column": 5 }, "end": { "line": 389, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 11042, "end": 11047, "loc": { "start": { "line": 389, "column": 6 }, "end": { "line": 389, "column": 11 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11047, "end": 11048, "loc": { "start": { "line": 389, "column": 11 }, "end": { "line": 389, "column": 12 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11049, "end": 11050, "loc": { "start": { "line": 389, "column": 13 }, "end": { "line": 389, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 11055, "end": 11062, "loc": { "start": { "line": 390, "column": 4 }, "end": { "line": 390, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 11069, "end": 11070, "loc": { "start": { "line": 390, "column": 18 }, "end": { "line": 390, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 11071, "end": 11076, "loc": { "start": { "line": 390, "column": 20 }, "end": { "line": 390, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11076, "end": 11077, "loc": { "start": { "line": 390, "column": 25 }, "end": { "line": 390, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "traverse_left", "start": 11082, "end": 11095, "loc": { "start": { "line": 391, "column": 4 }, "end": { "line": 391, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 11096, "end": 11097, "loc": { "start": { "line": 391, "column": 18 }, "end": { "line": 391, "column": 19 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 11098, "end": 11102, "loc": { "start": { "line": 391, "column": 20 }, "end": { "line": 391, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11102, "end": 11103, "loc": { "start": { "line": 391, "column": 24 }, "end": { "line": 391, "column": 25 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11107, "end": 11108, "loc": { "start": { "line": 392, "column": 3 }, "end": { "line": 392, "column": 4 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 11112, "end": 11116, "loc": { "start": { "line": 393, "column": 3 }, "end": { "line": 393, "column": 7 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11117, "end": 11118, "loc": { "start": { "line": 393, "column": 8 }, "end": { "line": 393, "column": 9 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 11123, "end": 11126, "loc": { "start": { "line": 394, "column": 4 }, "end": { "line": 394, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 11127, "end": 11133, "loc": { "start": { "line": 394, "column": 8 }, "end": { "line": 394, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 11134, "end": 11135, "loc": { "start": { "line": 394, "column": 15 }, "end": { "line": 394, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 11136, "end": 11143, "loc": { "start": { "line": 394, "column": 17 }, "end": { "line": 394, "column": 24 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11143, "end": 11144, "loc": { "start": { "line": 394, "column": 24 }, "end": { "line": 394, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_parent", "start": 11144, "end": 11155, "loc": { "start": { "line": 394, "column": 25 }, "end": { "line": 394, "column": 36 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11155, "end": 11156, "loc": { "start": { "line": 394, "column": 36 }, "end": { "line": 394, "column": 37 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 11162, "end": 11164, "loc": { "start": { "line": 396, "column": 4 }, "end": { "line": 396, "column": 6 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11164, "end": 11165, "loc": { "start": { "line": 396, "column": 6 }, "end": { "line": 396, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 11165, "end": 11171, "loc": { "start": { "line": 396, "column": 7 }, "end": { "line": 396, "column": 13 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11171, "end": 11172, "loc": { "start": { "line": 396, "column": 13 }, "end": { "line": 396, "column": 14 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11173, "end": 11174, "loc": { "start": { "line": 396, "column": 15 }, "end": { "line": 396, "column": 16 } } }, { "type": { "label": "while", "keyword": "while", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "while", "start": 11180, "end": 11185, "loc": { "start": { "line": 397, "column": 5 }, "end": { "line": 397, "column": 10 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11185, "end": 11186, "loc": { "start": { "line": 397, "column": 10 }, "end": { "line": 397, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 11186, "end": 11192, "loc": { "start": { "line": 397, "column": 11 }, "end": { "line": 397, "column": 17 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 11193, "end": 11195, "loc": { "start": { "line": 397, "column": 18 }, "end": { "line": 397, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 11196, "end": 11202, "loc": { "start": { "line": 397, "column": 21 }, "end": { "line": 397, "column": 27 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11202, "end": 11203, "loc": { "start": { "line": 397, "column": 27 }, "end": { "line": 397, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_right", "start": 11203, "end": 11213, "loc": { "start": { "line": 397, "column": 28 }, "end": { "line": 397, "column": 38 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 11214, "end": 11217, "loc": { "start": { "line": 397, "column": 39 }, "end": { "line": 397, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 11218, "end": 11225, "loc": { "start": { "line": 397, "column": 43 }, "end": { "line": 397, "column": 50 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11225, "end": 11226, "loc": { "start": { "line": 397, "column": 50 }, "end": { "line": 397, "column": 51 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11227, "end": 11228, "loc": { "start": { "line": 397, "column": 52 }, "end": { "line": 397, "column": 53 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 11235, "end": 11242, "loc": { "start": { "line": 398, "column": 6 }, "end": { "line": 398, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 11243, "end": 11244, "loc": { "start": { "line": 398, "column": 14 }, "end": { "line": 398, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 11245, "end": 11251, "loc": { "start": { "line": 398, "column": 16 }, "end": { "line": 398, "column": 22 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11251, "end": 11252, "loc": { "start": { "line": 398, "column": 22 }, "end": { "line": 398, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 11259, "end": 11265, "loc": { "start": { "line": 399, "column": 6 }, "end": { "line": 399, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 11267, "end": 11268, "loc": { "start": { "line": 399, "column": 14 }, "end": { "line": 399, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 11269, "end": 11276, "loc": { "start": { "line": 399, "column": 16 }, "end": { "line": 399, "column": 23 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11276, "end": 11277, "loc": { "start": { "line": 399, "column": 23 }, "end": { "line": 399, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_parent", "start": 11277, "end": 11288, "loc": { "start": { "line": 399, "column": 24 }, "end": { "line": 399, "column": 35 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11288, "end": 11289, "loc": { "start": { "line": 399, "column": 35 }, "end": { "line": 399, "column": 36 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11295, "end": 11296, "loc": { "start": { "line": 400, "column": 5 }, "end": { "line": 400, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current", "start": 11303, "end": 11310, "loc": { "start": { "line": 402, "column": 5 }, "end": { "line": 402, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 11311, "end": 11312, "loc": { "start": { "line": 402, "column": 13 }, "end": { "line": 402, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "parent", "start": 11313, "end": 11319, "loc": { "start": { "line": 402, "column": 15 }, "end": { "line": 402, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11319, "end": 11320, "loc": { "start": { "line": 402, "column": 21 }, "end": { "line": 402, "column": 22 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11325, "end": 11326, "loc": { "start": { "line": 403, "column": 4 }, "end": { "line": 403, "column": 5 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 11331, "end": 11335, "loc": { "start": { "line": 404, "column": 4 }, "end": { "line": 404, "column": 8 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11336, "end": 11337, "loc": { "start": { "line": 404, "column": 9 }, "end": { "line": 404, "column": 10 } } }, { "type": { "label": "break", "keyword": "break", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "break", "start": 11343, "end": 11348, "loc": { "start": { "line": 405, "column": 5 }, "end": { "line": 405, "column": 10 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11348, "end": 11349, "loc": { "start": { "line": 405, "column": 10 }, "end": { "line": 405, "column": 11 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11354, "end": 11355, "loc": { "start": { "line": 406, "column": 4 }, "end": { "line": 406, "column": 5 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11359, "end": 11360, "loc": { "start": { "line": 407, "column": 3 }, "end": { "line": 407, "column": 4 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11363, "end": 11364, "loc": { "start": { "line": 408, "column": 2 }, "end": { "line": 408, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11366, "end": 11367, "loc": { "start": { "line": 409, "column": 1 }, "end": { "line": 409, "column": 2 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11368, "end": 11369, "loc": { "start": { "line": 410, "column": 0 }, "end": { "line": 410, "column": 1 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11369, "end": 11370, "loc": { "start": { "line": 410, "column": 1 }, "end": { "line": 410, "column": 2 } } }, { "type": { "label": "eof", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11371, "end": 11371, "loc": { "start": { "line": 411, "column": 0 }, "end": { "line": 411, "column": 0 } } } ] } ================================================ FILE: docs/ast/source/modules/BVHBranch.mjs.json ================================================ { "type": "File", "start": 0, "end": 1205, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 74, "column": 0 } }, "program": { "type": "Program", "start": 0, "end": 1205, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 74, "column": 0 } }, "sourceType": "module", "body": [ { "type": "VariableDeclaration", "start": 20, "end": 43, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 23 } }, "declarations": [ { "type": "VariableDeclarator", "start": 26, "end": 42, "loc": { "start": { "line": 4, "column": 6 }, "end": { "line": 4, "column": 22 } }, "id": { "type": "Identifier", "start": 26, "end": 37, "loc": { "start": { "line": 4, "column": 6 }, "end": { "line": 4, "column": 17 }, "identifierName": "branch_pool" }, "name": "branch_pool", "leadingComments": null }, "init": { "type": "ArrayExpression", "start": 40, "end": 42, "loc": { "start": { "line": 4, "column": 20 }, "end": { "line": 4, "column": 22 } }, "elements": [] }, "leadingComments": null } ], "kind": "const", "leadingComments": [ { "type": "CommentBlock", "value": "*\n * @private\n ", "start": 0, "end": 19, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 3, "column": 3 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n * A branch within a BVH\n * @class\n * @private\n ", "start": 45, "end": 99, "loc": { "start": { "line": 6, "column": 0 }, "end": { "line": 10, "column": 3 } } } ] }, { "type": "ExportDefaultDeclaration", "start": 100, "end": 1203, "loc": { "start": { "line": 11, "column": 0 }, "end": { "line": 73, "column": 1 } }, "declaration": { "type": "ClassDeclaration", "start": 115, "end": 1203, "loc": { "start": { "line": 11, "column": 15 }, "end": { "line": 73, "column": 1 } }, "id": { "type": "Identifier", "start": 121, "end": 130, "loc": { "start": { "line": 11, "column": 21 }, "end": { "line": 11, "column": 30 }, "identifierName": "BVHBranch" }, "name": "BVHBranch", "leadingComments": null }, "superClass": null, "body": { "type": "ClassBody", "start": 131, "end": 1203, "loc": { "start": { "line": 11, "column": 31 }, "end": { "line": 73, "column": 1 } }, "body": [ { "type": "ClassMethod", "start": 161, "end": 568, "loc": { "start": { "line": 15, "column": 1 }, "end": { "line": 42, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 161, "end": 172, "loc": { "start": { "line": 15, "column": 1 }, "end": { "line": 15, "column": 12 }, "identifierName": "constructor" }, "name": "constructor", "leadingComments": null }, "kind": "constructor", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 175, "end": 568, "loc": { "start": { "line": 15, "column": 15 }, "end": { "line": 42, "column": 2 } }, "body": [ { "type": "ExpressionStatement", "start": 197, "end": 221, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 197, "end": 220, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 25 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 197, "end": 213, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 18 } }, "object": { "type": "ThisExpression", "start": 197, "end": 201, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 202, "end": 213, "loc": { "start": { "line": 17, "column": 7 }, "end": { "line": 17, "column": 18 }, "identifierName": "_bvh_parent" }, "name": "_bvh_parent" }, "computed": false, "leadingComments": null }, "right": { "type": "NullLiteral", "start": 216, "end": 220, "loc": { "start": { "line": 17, "column": 21 }, "end": { "line": 17, "column": 25 } } }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 179, "end": 194, "loc": { "start": { "line": 16, "column": 2 }, "end": { "line": 16, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 225, "end": 240, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 243, "end": 267, "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 20, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 243, "end": 266, "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 20, "column": 25 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 243, "end": 259, "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 20, "column": 18 } }, "object": { "type": "ThisExpression", "start": 243, "end": 247, "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 20, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 248, "end": 259, "loc": { "start": { "line": 20, "column": 7 }, "end": { "line": 20, "column": 18 }, "identifierName": "_bvh_branch" }, "name": "_bvh_branch" }, "computed": false, "leadingComments": null }, "right": { "type": "BooleanLiteral", "start": 262, "end": 266, "loc": { "start": { "line": 20, "column": 21 }, "end": { "line": 20, "column": 25 } }, "value": true }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 225, "end": 240, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 271, "end": 286, "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 22, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 289, "end": 311, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 23, "column": 24 } }, "expression": { "type": "AssignmentExpression", "start": 289, "end": 310, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 23, "column": 23 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 289, "end": 303, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 23, "column": 16 } }, "object": { "type": "ThisExpression", "start": 289, "end": 293, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 23, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 294, "end": 303, "loc": { "start": { "line": 23, "column": 7 }, "end": { "line": 23, "column": 16 }, "identifierName": "_bvh_left" }, "name": "_bvh_left" }, "computed": false, "leadingComments": null }, "right": { "type": "NullLiteral", "start": 306, "end": 310, "loc": { "start": { "line": 23, "column": 19 }, "end": { "line": 23, "column": 23 } } }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 271, "end": 286, "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 22, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 315, "end": 330, "loc": { "start": { "line": 25, "column": 2 }, "end": { "line": 25, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 333, "end": 356, "loc": { "start": { "line": 26, "column": 2 }, "end": { "line": 26, "column": 25 } }, "expression": { "type": "AssignmentExpression", "start": 333, "end": 355, "loc": { "start": { "line": 26, "column": 2 }, "end": { "line": 26, "column": 24 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 333, "end": 348, "loc": { "start": { "line": 26, "column": 2 }, "end": { "line": 26, "column": 17 } }, "object": { "type": "ThisExpression", "start": 333, "end": 337, "loc": { "start": { "line": 26, "column": 2 }, "end": { "line": 26, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 338, "end": 348, "loc": { "start": { "line": 26, "column": 7 }, "end": { "line": 26, "column": 17 }, "identifierName": "_bvh_right" }, "name": "_bvh_right" }, "computed": false, "leadingComments": null }, "right": { "type": "NullLiteral", "start": 351, "end": 355, "loc": { "start": { "line": 26, "column": 20 }, "end": { "line": 26, "column": 24 } } }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 315, "end": 330, "loc": { "start": { "line": 25, "column": 2 }, "end": { "line": 25, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 360, "end": 375, "loc": { "start": { "line": 28, "column": 2 }, "end": { "line": 28, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 378, "end": 397, "loc": { "start": { "line": 29, "column": 2 }, "end": { "line": 29, "column": 21 } }, "expression": { "type": "AssignmentExpression", "start": 378, "end": 396, "loc": { "start": { "line": 29, "column": 2 }, "end": { "line": 29, "column": 20 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 378, "end": 392, "loc": { "start": { "line": 29, "column": 2 }, "end": { "line": 29, "column": 16 } }, "object": { "type": "ThisExpression", "start": 378, "end": 382, "loc": { "start": { "line": 29, "column": 2 }, "end": { "line": 29, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 383, "end": 392, "loc": { "start": { "line": 29, "column": 7 }, "end": { "line": 29, "column": 16 }, "identifierName": "_bvh_sort" }, "name": "_bvh_sort" }, "computed": false, "leadingComments": null }, "right": { "type": "NumericLiteral", "start": 395, "end": 396, "loc": { "start": { "line": 29, "column": 19 }, "end": { "line": 29, "column": 20 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 360, "end": 375, "loc": { "start": { "line": 28, "column": 2 }, "end": { "line": 28, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 401, "end": 416, "loc": { "start": { "line": 31, "column": 2 }, "end": { "line": 31, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 419, "end": 439, "loc": { "start": { "line": 32, "column": 2 }, "end": { "line": 32, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 419, "end": 438, "loc": { "start": { "line": 32, "column": 2 }, "end": { "line": 32, "column": 21 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 419, "end": 434, "loc": { "start": { "line": 32, "column": 2 }, "end": { "line": 32, "column": 17 } }, "object": { "type": "ThisExpression", "start": 419, "end": 423, "loc": { "start": { "line": 32, "column": 2 }, "end": { "line": 32, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 424, "end": 434, "loc": { "start": { "line": 32, "column": 7 }, "end": { "line": 32, "column": 17 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false, "leadingComments": null }, "right": { "type": "NumericLiteral", "start": 437, "end": 438, "loc": { "start": { "line": 32, "column": 20 }, "end": { "line": 32, "column": 21 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 401, "end": 416, "loc": { "start": { "line": 31, "column": 2 }, "end": { "line": 31, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 443, "end": 458, "loc": { "start": { "line": 34, "column": 2 }, "end": { "line": 34, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 461, "end": 481, "loc": { "start": { "line": 35, "column": 2 }, "end": { "line": 35, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 461, "end": 480, "loc": { "start": { "line": 35, "column": 2 }, "end": { "line": 35, "column": 21 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 461, "end": 476, "loc": { "start": { "line": 35, "column": 2 }, "end": { "line": 35, "column": 17 } }, "object": { "type": "ThisExpression", "start": 461, "end": 465, "loc": { "start": { "line": 35, "column": 2 }, "end": { "line": 35, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 466, "end": 476, "loc": { "start": { "line": 35, "column": 7 }, "end": { "line": 35, "column": 17 }, "identifierName": "_bvh_min_y" }, "name": "_bvh_min_y" }, "computed": false, "leadingComments": null }, "right": { "type": "NumericLiteral", "start": 479, "end": 480, "loc": { "start": { "line": 35, "column": 20 }, "end": { "line": 35, "column": 21 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 443, "end": 458, "loc": { "start": { "line": 34, "column": 2 }, "end": { "line": 34, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 485, "end": 500, "loc": { "start": { "line": 37, "column": 2 }, "end": { "line": 37, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 503, "end": 523, "loc": { "start": { "line": 38, "column": 2 }, "end": { "line": 38, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 503, "end": 522, "loc": { "start": { "line": 38, "column": 2 }, "end": { "line": 38, "column": 21 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 503, "end": 518, "loc": { "start": { "line": 38, "column": 2 }, "end": { "line": 38, "column": 17 } }, "object": { "type": "ThisExpression", "start": 503, "end": 507, "loc": { "start": { "line": 38, "column": 2 }, "end": { "line": 38, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 508, "end": 518, "loc": { "start": { "line": 38, "column": 7 }, "end": { "line": 38, "column": 17 }, "identifierName": "_bvh_max_x" }, "name": "_bvh_max_x" }, "computed": false, "leadingComments": null }, "right": { "type": "NumericLiteral", "start": 521, "end": 522, "loc": { "start": { "line": 38, "column": 20 }, "end": { "line": 38, "column": 21 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 485, "end": 500, "loc": { "start": { "line": 37, "column": 2 }, "end": { "line": 37, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 527, "end": 542, "loc": { "start": { "line": 40, "column": 2 }, "end": { "line": 40, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 545, "end": 565, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 545, "end": 564, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 21 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 545, "end": 560, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 17 } }, "object": { "type": "ThisExpression", "start": 545, "end": 549, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 550, "end": 560, "loc": { "start": { "line": 41, "column": 7 }, "end": { "line": 41, "column": 17 }, "identifierName": "_bvh_max_y" }, "name": "_bvh_max_y" }, "computed": false, "leadingComments": null }, "right": { "type": "NumericLiteral", "start": 563, "end": 564, "loc": { "start": { "line": 41, "column": 20 }, "end": { "line": 41, "column": 21 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 527, "end": 542, "loc": { "start": { "line": 40, "column": 2 }, "end": { "line": 40, "column": 17 } } } ] } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t ", "start": 134, "end": 159, "loc": { "start": { "line": 12, "column": 1 }, "end": { "line": 14, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Returns a branch from the branch pool or creates a new branch\n\t * @returns {BVHBranch}\n\t ", "start": 571, "end": 670, "loc": { "start": { "line": 44, "column": 1 }, "end": { "line": 47, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 672, "end": 782, "loc": { "start": { "line": 48, "column": 1 }, "end": { "line": 54, "column": 2 } }, "static": true, "computed": false, "key": { "type": "Identifier", "start": 679, "end": 688, "loc": { "start": { "line": 48, "column": 8 }, "end": { "line": 48, "column": 17 }, "identifierName": "getBranch" }, "name": "getBranch" }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 691, "end": 782, "loc": { "start": { "line": 48, "column": 20 }, "end": { "line": 54, "column": 2 } }, "body": [ { "type": "IfStatement", "start": 695, "end": 752, "loc": { "start": { "line": 49, "column": 2 }, "end": { "line": 51, "column": 3 } }, "test": { "type": "MemberExpression", "start": 698, "end": 716, "loc": { "start": { "line": 49, "column": 5 }, "end": { "line": 49, "column": 23 } }, "object": { "type": "Identifier", "start": 698, "end": 709, "loc": { "start": { "line": 49, "column": 5 }, "end": { "line": 49, "column": 16 }, "identifierName": "branch_pool" }, "name": "branch_pool" }, "property": { "type": "Identifier", "start": 710, "end": 716, "loc": { "start": { "line": 49, "column": 17 }, "end": { "line": 49, "column": 23 }, "identifierName": "length" }, "name": "length" }, "computed": false }, "consequent": { "type": "BlockStatement", "start": 718, "end": 752, "loc": { "start": { "line": 49, "column": 25 }, "end": { "line": 51, "column": 3 } }, "body": [ { "type": "ReturnStatement", "start": 723, "end": 748, "loc": { "start": { "line": 50, "column": 3 }, "end": { "line": 50, "column": 28 } }, "argument": { "type": "CallExpression", "start": 730, "end": 747, "loc": { "start": { "line": 50, "column": 10 }, "end": { "line": 50, "column": 27 } }, "callee": { "type": "MemberExpression", "start": 730, "end": 745, "loc": { "start": { "line": 50, "column": 10 }, "end": { "line": 50, "column": 25 } }, "object": { "type": "Identifier", "start": 730, "end": 741, "loc": { "start": { "line": 50, "column": 10 }, "end": { "line": 50, "column": 21 }, "identifierName": "branch_pool" }, "name": "branch_pool" }, "property": { "type": "Identifier", "start": 742, "end": 745, "loc": { "start": { "line": 50, "column": 22 }, "end": { "line": 50, "column": 25 }, "identifierName": "pop" }, "name": "pop" }, "computed": false }, "arguments": [] } } ], "directives": [] }, "alternate": null }, { "type": "ReturnStatement", "start": 756, "end": 779, "loc": { "start": { "line": 53, "column": 2 }, "end": { "line": 53, "column": 25 } }, "argument": { "type": "NewExpression", "start": 763, "end": 778, "loc": { "start": { "line": 53, "column": 9 }, "end": { "line": 53, "column": 24 } }, "callee": { "type": "Identifier", "start": 767, "end": 776, "loc": { "start": { "line": 53, "column": 13 }, "end": { "line": 53, "column": 22 }, "identifierName": "BVHBranch" }, "name": "BVHBranch" }, "arguments": [] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Returns a branch from the branch pool or creates a new branch\n\t * @returns {BVHBranch}\n\t ", "start": 571, "end": 670, "loc": { "start": { "line": 44, "column": 1 }, "end": { "line": 47, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Releases a branch back into the branch pool\n\t * @param {BVHBranch} branch The branch to release\n\t ", "start": 785, "end": 893, "loc": { "start": { "line": 56, "column": 1 }, "end": { "line": 59, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 895, "end": 956, "loc": { "start": { "line": 60, "column": 1 }, "end": { "line": 62, "column": 2 } }, "static": true, "computed": false, "key": { "type": "Identifier", "start": 902, "end": 915, "loc": { "start": { "line": 60, "column": 8 }, "end": { "line": 60, "column": 21 }, "identifierName": "releaseBranch" }, "name": "releaseBranch" }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 916, "end": 922, "loc": { "start": { "line": 60, "column": 22 }, "end": { "line": 60, "column": 28 }, "identifierName": "branch" }, "name": "branch" } ], "body": { "type": "BlockStatement", "start": 924, "end": 956, "loc": { "start": { "line": 60, "column": 30 }, "end": { "line": 62, "column": 2 } }, "body": [ { "type": "ExpressionStatement", "start": 928, "end": 953, "loc": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": 27 } }, "expression": { "type": "CallExpression", "start": 928, "end": 952, "loc": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": 26 } }, "callee": { "type": "MemberExpression", "start": 928, "end": 944, "loc": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": 18 } }, "object": { "type": "Identifier", "start": 928, "end": 939, "loc": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": 13 }, "identifierName": "branch_pool" }, "name": "branch_pool" }, "property": { "type": "Identifier", "start": 940, "end": 944, "loc": { "start": { "line": 61, "column": 14 }, "end": { "line": 61, "column": 18 }, "identifierName": "push" }, "name": "push" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 945, "end": 951, "loc": { "start": { "line": 61, "column": 19 }, "end": { "line": 61, "column": 25 }, "identifierName": "branch" }, "name": "branch" } ] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Releases a branch back into the branch pool\n\t * @param {BVHBranch} branch The branch to release\n\t ", "start": 785, "end": 893, "loc": { "start": { "line": 56, "column": 1 }, "end": { "line": 59, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Sorting callback used to sort branches by deepest first\n\t * @param {BVHBranch} a The first branch\n\t * @param {BVHBranch} b The second branch\n\t * @returns {Number}\n\t ", "start": 959, "end": 1134, "loc": { "start": { "line": 64, "column": 1 }, "end": { "line": 69, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 1136, "end": 1201, "loc": { "start": { "line": 70, "column": 1 }, "end": { "line": 72, "column": 2 } }, "static": true, "computed": false, "key": { "type": "Identifier", "start": 1143, "end": 1155, "loc": { "start": { "line": 70, "column": 8 }, "end": { "line": 70, "column": 20 }, "identifierName": "sortBranches" }, "name": "sortBranches" }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 1156, "end": 1157, "loc": { "start": { "line": 70, "column": 21 }, "end": { "line": 70, "column": 22 }, "identifierName": "a" }, "name": "a" }, { "type": "Identifier", "start": 1159, "end": 1160, "loc": { "start": { "line": 70, "column": 24 }, "end": { "line": 70, "column": 25 }, "identifierName": "b" }, "name": "b" } ], "body": { "type": "BlockStatement", "start": 1162, "end": 1201, "loc": { "start": { "line": 70, "column": 27 }, "end": { "line": 72, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 1166, "end": 1198, "loc": { "start": { "line": 71, "column": 2 }, "end": { "line": 71, "column": 34 } }, "argument": { "type": "ConditionalExpression", "start": 1173, "end": 1197, "loc": { "start": { "line": 71, "column": 9 }, "end": { "line": 71, "column": 33 } }, "test": { "type": "BinaryExpression", "start": 1173, "end": 1188, "loc": { "start": { "line": 71, "column": 9 }, "end": { "line": 71, "column": 24 } }, "left": { "type": "MemberExpression", "start": 1173, "end": 1179, "loc": { "start": { "line": 71, "column": 9 }, "end": { "line": 71, "column": 15 } }, "object": { "type": "Identifier", "start": 1173, "end": 1174, "loc": { "start": { "line": 71, "column": 9 }, "end": { "line": 71, "column": 10 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 1175, "end": 1179, "loc": { "start": { "line": 71, "column": 11 }, "end": { "line": 71, "column": 15 }, "identifierName": "sort" }, "name": "sort" }, "computed": false }, "operator": ">", "right": { "type": "MemberExpression", "start": 1182, "end": 1188, "loc": { "start": { "line": 71, "column": 18 }, "end": { "line": 71, "column": 24 } }, "object": { "type": "Identifier", "start": 1182, "end": 1183, "loc": { "start": { "line": 71, "column": 18 }, "end": { "line": 71, "column": 19 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1184, "end": 1188, "loc": { "start": { "line": 71, "column": 20 }, "end": { "line": 71, "column": 24 }, "identifierName": "sort" }, "name": "sort" }, "computed": false } }, "consequent": { "type": "UnaryExpression", "start": 1191, "end": 1193, "loc": { "start": { "line": 71, "column": 27 }, "end": { "line": 71, "column": 29 } }, "operator": "-", "prefix": true, "argument": { "type": "NumericLiteral", "start": 1192, "end": 1193, "loc": { "start": { "line": 71, "column": 28 }, "end": { "line": 71, "column": 29 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, "extra": { "parenthesizedArgument": false } }, "alternate": { "type": "NumericLiteral", "start": 1196, "end": 1197, "loc": { "start": { "line": 71, "column": 32 }, "end": { "line": 71, "column": 33 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } } } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Sorting callback used to sort branches by deepest first\n\t * @param {BVHBranch} a The first branch\n\t * @param {BVHBranch} b The second branch\n\t * @returns {Number}\n\t ", "start": 959, "end": 1134, "loc": { "start": { "line": 64, "column": 1 }, "end": { "line": 69, "column": 4 } } } ] } ] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A branch within a BVH\n * @class\n * @private\n ", "start": 45, "end": 99, "loc": { "start": { "line": 6, "column": 0 }, "end": { "line": 10, "column": 3 } } } ], "trailingComments": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A branch within a BVH\n * @class\n * @private\n ", "start": 45, "end": 99, "loc": { "start": { "line": 6, "column": 0 }, "end": { "line": 10, "column": 3 } } } ] }, { "type": "EmptyStatement", "start": 1203, "end": 1204, "loc": { "start": { "line": 73, "column": 1 }, "end": { "line": 73, "column": 2 } } } ], "directives": [] }, "comments": [ { "type": "CommentBlock", "value": "*\n * @private\n ", "start": 0, "end": 19, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 3, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * A branch within a BVH\n * @class\n * @private\n ", "start": 45, "end": 99, "loc": { "start": { "line": 6, "column": 0 }, "end": { "line": 10, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t ", "start": 134, "end": 159, "loc": { "start": { "line": 12, "column": 1 }, "end": { "line": 14, "column": 4 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 179, "end": 194, "loc": { "start": { "line": 16, "column": 2 }, "end": { "line": 16, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 225, "end": 240, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 271, "end": 286, "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 22, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 315, "end": 330, "loc": { "start": { "line": 25, "column": 2 }, "end": { "line": 25, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 360, "end": 375, "loc": { "start": { "line": 28, "column": 2 }, "end": { "line": 28, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 401, "end": 416, "loc": { "start": { "line": 31, "column": 2 }, "end": { "line": 31, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 443, "end": 458, "loc": { "start": { "line": 34, "column": 2 }, "end": { "line": 34, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 485, "end": 500, "loc": { "start": { "line": 37, "column": 2 }, "end": { "line": 37, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 527, "end": 542, "loc": { "start": { "line": 40, "column": 2 }, "end": { "line": 40, "column": 17 } } }, { "type": "CommentBlock", "value": "*\n\t * Returns a branch from the branch pool or creates a new branch\n\t * @returns {BVHBranch}\n\t ", "start": 571, "end": 670, "loc": { "start": { "line": 44, "column": 1 }, "end": { "line": 47, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Releases a branch back into the branch pool\n\t * @param {BVHBranch} branch The branch to release\n\t ", "start": 785, "end": 893, "loc": { "start": { "line": 56, "column": 1 }, "end": { "line": 59, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Sorting callback used to sort branches by deepest first\n\t * @param {BVHBranch} a The first branch\n\t * @param {BVHBranch} b The second branch\n\t * @returns {Number}\n\t ", "start": 959, "end": 1134, "loc": { "start": { "line": 64, "column": 1 }, "end": { "line": 69, "column": 4 } } } ], "tokens": [ { "type": "CommentBlock", "value": "*\n * @private\n ", "start": 0, "end": 19, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 3, "column": 3 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 20, "end": 25, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch_pool", "start": 26, "end": 37, "loc": { "start": { "line": 4, "column": 6 }, "end": { "line": 4, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 38, "end": 39, "loc": { "start": { "line": 4, "column": 18 }, "end": { "line": 4, "column": 19 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 40, "end": 41, "loc": { "start": { "line": 4, "column": 20 }, "end": { "line": 4, "column": 21 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 41, "end": 42, "loc": { "start": { "line": 4, "column": 21 }, "end": { "line": 4, "column": 22 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 42, "end": 43, "loc": { "start": { "line": 4, "column": 22 }, "end": { "line": 4, "column": 23 } } }, { "type": "CommentBlock", "value": "*\n * A branch within a BVH\n * @class\n * @private\n ", "start": 45, "end": 99, "loc": { "start": { "line": 6, "column": 0 }, "end": { "line": 10, "column": 3 } } }, { "type": { "label": "export", "keyword": "export", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "export", "start": 100, "end": 106, "loc": { "start": { "line": 11, "column": 0 }, "end": { "line": 11, "column": 6 } } }, { "type": { "label": "default", "keyword": "default", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "default", "start": 107, "end": 114, "loc": { "start": { "line": 11, "column": 7 }, "end": { "line": 11, "column": 14 } } }, { "type": { "label": "class", "keyword": "class", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "class", "start": 115, "end": 120, "loc": { "start": { "line": 11, "column": 15 }, "end": { "line": 11, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "BVHBranch", "start": 121, "end": 130, "loc": { "start": { "line": 11, "column": 21 }, "end": { "line": 11, "column": 30 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 131, "end": 132, "loc": { "start": { "line": 11, "column": 31 }, "end": { "line": 11, "column": 32 } } }, { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t ", "start": 134, "end": 159, "loc": { "start": { "line": 12, "column": 1 }, "end": { "line": 14, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "constructor", "start": 161, "end": 172, "loc": { "start": { "line": 15, "column": 1 }, "end": { "line": 15, "column": 12 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 172, "end": 173, "loc": { "start": { "line": 15, "column": 12 }, "end": { "line": 15, "column": 13 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 173, "end": 174, "loc": { "start": { "line": 15, "column": 13 }, "end": { "line": 15, "column": 14 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 175, "end": 176, "loc": { "start": { "line": 15, "column": 15 }, "end": { "line": 15, "column": 16 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 179, "end": 194, "loc": { "start": { "line": 16, "column": 2 }, "end": { "line": 16, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 197, "end": 201, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 201, "end": 202, "loc": { "start": { "line": 17, "column": 6 }, "end": { "line": 17, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_parent", "start": 202, "end": 213, "loc": { "start": { "line": 17, "column": 7 }, "end": { "line": 17, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 214, "end": 215, "loc": { "start": { "line": 17, "column": 19 }, "end": { "line": 17, "column": 20 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 216, "end": 220, "loc": { "start": { "line": 17, "column": 21 }, "end": { "line": 17, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 220, "end": 221, "loc": { "start": { "line": 17, "column": 25 }, "end": { "line": 17, "column": 26 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 225, "end": 240, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 243, "end": 247, "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 20, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 247, "end": 248, "loc": { "start": { "line": 20, "column": 6 }, "end": { "line": 20, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_branch", "start": 248, "end": 259, "loc": { "start": { "line": 20, "column": 7 }, "end": { "line": 20, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 260, "end": 261, "loc": { "start": { "line": 20, "column": 19 }, "end": { "line": 20, "column": 20 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 262, "end": 266, "loc": { "start": { "line": 20, "column": 21 }, "end": { "line": 20, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 266, "end": 267, "loc": { "start": { "line": 20, "column": 25 }, "end": { "line": 20, "column": 26 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 271, "end": 286, "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 22, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 289, "end": 293, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 23, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 293, "end": 294, "loc": { "start": { "line": 23, "column": 6 }, "end": { "line": 23, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_left", "start": 294, "end": 303, "loc": { "start": { "line": 23, "column": 7 }, "end": { "line": 23, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 304, "end": 305, "loc": { "start": { "line": 23, "column": 17 }, "end": { "line": 23, "column": 18 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 306, "end": 310, "loc": { "start": { "line": 23, "column": 19 }, "end": { "line": 23, "column": 23 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 310, "end": 311, "loc": { "start": { "line": 23, "column": 23 }, "end": { "line": 23, "column": 24 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 315, "end": 330, "loc": { "start": { "line": 25, "column": 2 }, "end": { "line": 25, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 333, "end": 337, "loc": { "start": { "line": 26, "column": 2 }, "end": { "line": 26, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 337, "end": 338, "loc": { "start": { "line": 26, "column": 6 }, "end": { "line": 26, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_right", "start": 338, "end": 348, "loc": { "start": { "line": 26, "column": 7 }, "end": { "line": 26, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 349, "end": 350, "loc": { "start": { "line": 26, "column": 18 }, "end": { "line": 26, "column": 19 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 351, "end": 355, "loc": { "start": { "line": 26, "column": 20 }, "end": { "line": 26, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 355, "end": 356, "loc": { "start": { "line": 26, "column": 24 }, "end": { "line": 26, "column": 25 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 360, "end": 375, "loc": { "start": { "line": 28, "column": 2 }, "end": { "line": 28, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 378, "end": 382, "loc": { "start": { "line": 29, "column": 2 }, "end": { "line": 29, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 382, "end": 383, "loc": { "start": { "line": 29, "column": 6 }, "end": { "line": 29, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_sort", "start": 383, "end": 392, "loc": { "start": { "line": 29, "column": 7 }, "end": { "line": 29, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 393, "end": 394, "loc": { "start": { "line": 29, "column": 17 }, "end": { "line": 29, "column": 18 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 395, "end": 396, "loc": { "start": { "line": 29, "column": 19 }, "end": { "line": 29, "column": 20 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 396, "end": 397, "loc": { "start": { "line": 29, "column": 20 }, "end": { "line": 29, "column": 21 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 401, "end": 416, "loc": { "start": { "line": 31, "column": 2 }, "end": { "line": 31, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 419, "end": 423, "loc": { "start": { "line": 32, "column": 2 }, "end": { "line": 32, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 423, "end": 424, "loc": { "start": { "line": 32, "column": 6 }, "end": { "line": 32, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 424, "end": 434, "loc": { "start": { "line": 32, "column": 7 }, "end": { "line": 32, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 435, "end": 436, "loc": { "start": { "line": 32, "column": 18 }, "end": { "line": 32, "column": 19 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 437, "end": 438, "loc": { "start": { "line": 32, "column": 20 }, "end": { "line": 32, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 438, "end": 439, "loc": { "start": { "line": 32, "column": 21 }, "end": { "line": 32, "column": 22 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 443, "end": 458, "loc": { "start": { "line": 34, "column": 2 }, "end": { "line": 34, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 461, "end": 465, "loc": { "start": { "line": 35, "column": 2 }, "end": { "line": 35, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 465, "end": 466, "loc": { "start": { "line": 35, "column": 6 }, "end": { "line": 35, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_y", "start": 466, "end": 476, "loc": { "start": { "line": 35, "column": 7 }, "end": { "line": 35, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 477, "end": 478, "loc": { "start": { "line": 35, "column": 18 }, "end": { "line": 35, "column": 19 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 479, "end": 480, "loc": { "start": { "line": 35, "column": 20 }, "end": { "line": 35, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 480, "end": 481, "loc": { "start": { "line": 35, "column": 21 }, "end": { "line": 35, "column": 22 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 485, "end": 500, "loc": { "start": { "line": 37, "column": 2 }, "end": { "line": 37, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 503, "end": 507, "loc": { "start": { "line": 38, "column": 2 }, "end": { "line": 38, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 507, "end": 508, "loc": { "start": { "line": 38, "column": 6 }, "end": { "line": 38, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_x", "start": 508, "end": 518, "loc": { "start": { "line": 38, "column": 7 }, "end": { "line": 38, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 519, "end": 520, "loc": { "start": { "line": 38, "column": 18 }, "end": { "line": 38, "column": 19 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 521, "end": 522, "loc": { "start": { "line": 38, "column": 20 }, "end": { "line": 38, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 522, "end": 523, "loc": { "start": { "line": 38, "column": 21 }, "end": { "line": 38, "column": 22 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 527, "end": 542, "loc": { "start": { "line": 40, "column": 2 }, "end": { "line": 40, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 545, "end": 549, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 549, "end": 550, "loc": { "start": { "line": 41, "column": 6 }, "end": { "line": 41, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_y", "start": 550, "end": 560, "loc": { "start": { "line": 41, "column": 7 }, "end": { "line": 41, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 561, "end": 562, "loc": { "start": { "line": 41, "column": 18 }, "end": { "line": 41, "column": 19 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 563, "end": 564, "loc": { "start": { "line": 41, "column": 20 }, "end": { "line": 41, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 564, "end": 565, "loc": { "start": { "line": 41, "column": 21 }, "end": { "line": 41, "column": 22 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 567, "end": 568, "loc": { "start": { "line": 42, "column": 1 }, "end": { "line": 42, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Returns a branch from the branch pool or creates a new branch\n\t * @returns {BVHBranch}\n\t ", "start": 571, "end": 670, "loc": { "start": { "line": 44, "column": 1 }, "end": { "line": 47, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "static", "start": 672, "end": 678, "loc": { "start": { "line": 48, "column": 1 }, "end": { "line": 48, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "getBranch", "start": 679, "end": 688, "loc": { "start": { "line": 48, "column": 8 }, "end": { "line": 48, "column": 17 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 688, "end": 689, "loc": { "start": { "line": 48, "column": 17 }, "end": { "line": 48, "column": 18 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 689, "end": 690, "loc": { "start": { "line": 48, "column": 18 }, "end": { "line": 48, "column": 19 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 691, "end": 692, "loc": { "start": { "line": 48, "column": 20 }, "end": { "line": 48, "column": 21 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 695, "end": 697, "loc": { "start": { "line": 49, "column": 2 }, "end": { "line": 49, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 697, "end": 698, "loc": { "start": { "line": 49, "column": 4 }, "end": { "line": 49, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch_pool", "start": 698, "end": 709, "loc": { "start": { "line": 49, "column": 5 }, "end": { "line": 49, "column": 16 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 709, "end": 710, "loc": { "start": { "line": 49, "column": 16 }, "end": { "line": 49, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 710, "end": 716, "loc": { "start": { "line": 49, "column": 17 }, "end": { "line": 49, "column": 23 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 716, "end": 717, "loc": { "start": { "line": 49, "column": 23 }, "end": { "line": 49, "column": 24 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 718, "end": 719, "loc": { "start": { "line": 49, "column": 25 }, "end": { "line": 49, "column": 26 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 723, "end": 729, "loc": { "start": { "line": 50, "column": 3 }, "end": { "line": 50, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch_pool", "start": 730, "end": 741, "loc": { "start": { "line": 50, "column": 10 }, "end": { "line": 50, "column": 21 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 741, "end": 742, "loc": { "start": { "line": 50, "column": 21 }, "end": { "line": 50, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "pop", "start": 742, "end": 745, "loc": { "start": { "line": 50, "column": 22 }, "end": { "line": 50, "column": 25 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 745, "end": 746, "loc": { "start": { "line": 50, "column": 25 }, "end": { "line": 50, "column": 26 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 746, "end": 747, "loc": { "start": { "line": 50, "column": 26 }, "end": { "line": 50, "column": 27 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 747, "end": 748, "loc": { "start": { "line": 50, "column": 27 }, "end": { "line": 50, "column": 28 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 751, "end": 752, "loc": { "start": { "line": 51, "column": 2 }, "end": { "line": 51, "column": 3 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 756, "end": 762, "loc": { "start": { "line": 53, "column": 2 }, "end": { "line": 53, "column": 8 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 763, "end": 766, "loc": { "start": { "line": 53, "column": 9 }, "end": { "line": 53, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "BVHBranch", "start": 767, "end": 776, "loc": { "start": { "line": 53, "column": 13 }, "end": { "line": 53, "column": 22 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 776, "end": 777, "loc": { "start": { "line": 53, "column": 22 }, "end": { "line": 53, "column": 23 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 777, "end": 778, "loc": { "start": { "line": 53, "column": 23 }, "end": { "line": 53, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 778, "end": 779, "loc": { "start": { "line": 53, "column": 24 }, "end": { "line": 53, "column": 25 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 781, "end": 782, "loc": { "start": { "line": 54, "column": 1 }, "end": { "line": 54, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Releases a branch back into the branch pool\n\t * @param {BVHBranch} branch The branch to release\n\t ", "start": 785, "end": 893, "loc": { "start": { "line": 56, "column": 1 }, "end": { "line": 59, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "static", "start": 895, "end": 901, "loc": { "start": { "line": 60, "column": 1 }, "end": { "line": 60, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "releaseBranch", "start": 902, "end": 915, "loc": { "start": { "line": 60, "column": 8 }, "end": { "line": 60, "column": 21 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 915, "end": 916, "loc": { "start": { "line": 60, "column": 21 }, "end": { "line": 60, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch", "start": 916, "end": 922, "loc": { "start": { "line": 60, "column": 22 }, "end": { "line": 60, "column": 28 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 922, "end": 923, "loc": { "start": { "line": 60, "column": 28 }, "end": { "line": 60, "column": 29 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 924, "end": 925, "loc": { "start": { "line": 60, "column": 30 }, "end": { "line": 60, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch_pool", "start": 928, "end": 939, "loc": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": 13 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 939, "end": 940, "loc": { "start": { "line": 61, "column": 13 }, "end": { "line": 61, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "push", "start": 940, "end": 944, "loc": { "start": { "line": 61, "column": 14 }, "end": { "line": 61, "column": 18 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 944, "end": 945, "loc": { "start": { "line": 61, "column": 18 }, "end": { "line": 61, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "branch", "start": 945, "end": 951, "loc": { "start": { "line": 61, "column": 19 }, "end": { "line": 61, "column": 25 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 951, "end": 952, "loc": { "start": { "line": 61, "column": 25 }, "end": { "line": 61, "column": 26 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 952, "end": 953, "loc": { "start": { "line": 61, "column": 26 }, "end": { "line": 61, "column": 27 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 955, "end": 956, "loc": { "start": { "line": 62, "column": 1 }, "end": { "line": 62, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Sorting callback used to sort branches by deepest first\n\t * @param {BVHBranch} a The first branch\n\t * @param {BVHBranch} b The second branch\n\t * @returns {Number}\n\t ", "start": 959, "end": 1134, "loc": { "start": { "line": 64, "column": 1 }, "end": { "line": 69, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "static", "start": 1136, "end": 1142, "loc": { "start": { "line": 70, "column": 1 }, "end": { "line": 70, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sortBranches", "start": 1143, "end": 1155, "loc": { "start": { "line": 70, "column": 8 }, "end": { "line": 70, "column": 20 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1155, "end": 1156, "loc": { "start": { "line": 70, "column": 20 }, "end": { "line": 70, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1156, "end": 1157, "loc": { "start": { "line": 70, "column": 21 }, "end": { "line": 70, "column": 22 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1157, "end": 1158, "loc": { "start": { "line": 70, "column": 22 }, "end": { "line": 70, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1159, "end": 1160, "loc": { "start": { "line": 70, "column": 24 }, "end": { "line": 70, "column": 25 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1160, "end": 1161, "loc": { "start": { "line": 70, "column": 25 }, "end": { "line": 70, "column": 26 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1162, "end": 1163, "loc": { "start": { "line": 70, "column": 27 }, "end": { "line": 70, "column": 28 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 1166, "end": 1172, "loc": { "start": { "line": 71, "column": 2 }, "end": { "line": 71, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1173, "end": 1174, "loc": { "start": { "line": 71, "column": 9 }, "end": { "line": 71, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1174, "end": 1175, "loc": { "start": { "line": 71, "column": 10 }, "end": { "line": 71, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sort", "start": 1175, "end": 1179, "loc": { "start": { "line": 71, "column": 11 }, "end": { "line": 71, "column": 15 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 1180, "end": 1181, "loc": { "start": { "line": 71, "column": 16 }, "end": { "line": 71, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1182, "end": 1183, "loc": { "start": { "line": 71, "column": 18 }, "end": { "line": 71, "column": 19 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1183, "end": 1184, "loc": { "start": { "line": 71, "column": 19 }, "end": { "line": 71, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sort", "start": 1184, "end": 1188, "loc": { "start": { "line": 71, "column": 20 }, "end": { "line": 71, "column": 24 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1189, "end": 1190, "loc": { "start": { "line": 71, "column": 25 }, "end": { "line": 71, "column": 26 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 1191, "end": 1192, "loc": { "start": { "line": 71, "column": 27 }, "end": { "line": 71, "column": 28 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 1192, "end": 1193, "loc": { "start": { "line": 71, "column": 28 }, "end": { "line": 71, "column": 29 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1194, "end": 1195, "loc": { "start": { "line": 71, "column": 30 }, "end": { "line": 71, "column": 31 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 1196, "end": 1197, "loc": { "start": { "line": 71, "column": 32 }, "end": { "line": 71, "column": 33 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1197, "end": 1198, "loc": { "start": { "line": 71, "column": 33 }, "end": { "line": 71, "column": 34 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1200, "end": 1201, "loc": { "start": { "line": 72, "column": 1 }, "end": { "line": 72, "column": 2 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1202, "end": 1203, "loc": { "start": { "line": 73, "column": 0 }, "end": { "line": 73, "column": 1 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1203, "end": 1204, "loc": { "start": { "line": 73, "column": 1 }, "end": { "line": 73, "column": 2 } } }, { "type": { "label": "eof", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1205, "end": 1205, "loc": { "start": { "line": 74, "column": 0 }, "end": { "line": 74, "column": 0 } } } ] } ================================================ FILE: docs/ast/source/modules/Body.mjs.json ================================================ { "type": "File", "start": 0, "end": 2444, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 119, "column": 0 } }, "program": { "type": "Program", "start": 0, "end": 2444, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 119, "column": 0 } }, "sourceType": "module", "body": [ { "type": "ImportDeclaration", "start": 0, "end": 34, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 34 } }, "specifiers": [ { "type": "ImportDefaultSpecifier", "start": 7, "end": 13, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 13 } }, "local": { "type": "Identifier", "start": 7, "end": 13, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 13 }, "identifierName": "Result" }, "name": "Result" } } ], "source": { "type": "StringLiteral", "start": 19, "end": 33, "loc": { "start": { "line": 1, "column": 19 }, "end": { "line": 1, "column": 33 } }, "extra": { "rawValue": "./Result.mjs", "raw": "'./Result.mjs'" }, "value": "./Result.mjs" } }, { "type": "ImportDeclaration", "start": 35, "end": 66, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 31 } }, "specifiers": [ { "type": "ImportDefaultSpecifier", "start": 42, "end": 45, "loc": { "start": { "line": 2, "column": 7 }, "end": { "line": 2, "column": 10 } }, "local": { "type": "Identifier", "start": 42, "end": 45, "loc": { "start": { "line": 2, "column": 7 }, "end": { "line": 2, "column": 10 }, "identifierName": "SAT" }, "name": "SAT" } } ], "source": { "type": "StringLiteral", "start": 54, "end": 65, "loc": { "start": { "line": 2, "column": 19 }, "end": { "line": 2, "column": 30 } }, "extra": { "rawValue": "./SAT.mjs", "raw": "'./SAT.mjs'" }, "value": "./SAT.mjs" }, "trailingComments": [ { "type": "CommentBlock", "value": "*\n * The base class for bodies used to detect collisions\n * @class\n * @protected\n ", "start": 68, "end": 154, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 8, "column": 3 } } } ] }, { "type": "ExportDefaultDeclaration", "start": 155, "end": 2442, "loc": { "start": { "line": 9, "column": 0 }, "end": { "line": 118, "column": 1 } }, "declaration": { "type": "ClassDeclaration", "start": 170, "end": 2442, "loc": { "start": { "line": 9, "column": 15 }, "end": { "line": 118, "column": 1 } }, "id": { "type": "Identifier", "start": 176, "end": 180, "loc": { "start": { "line": 9, "column": 21 }, "end": { "line": 9, "column": 25 }, "identifierName": "Body" }, "name": "Body", "leadingComments": null }, "superClass": null, "body": { "type": "ClassBody", "start": 181, "end": 2442, "loc": { "start": { "line": 9, "column": 26 }, "end": { "line": 118, "column": 1 } }, "body": [ { "type": "ClassMethod", "start": 429, "end": 1270, "loc": { "start": { "line": 16, "column": 1 }, "end": { "line": 67, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 429, "end": 440, "loc": { "start": { "line": 16, "column": 1 }, "end": { "line": 16, "column": 12 }, "identifierName": "constructor" }, "name": "constructor", "leadingComments": null }, "kind": "constructor", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "AssignmentPattern", "start": 441, "end": 446, "loc": { "start": { "line": 16, "column": 13 }, "end": { "line": 16, "column": 18 } }, "left": { "type": "Identifier", "start": 441, "end": 442, "loc": { "start": { "line": 16, "column": 13 }, "end": { "line": 16, "column": 14 }, "identifierName": "x" }, "name": "x" }, "right": { "type": "NumericLiteral", "start": 445, "end": 446, "loc": { "start": { "line": 16, "column": 17 }, "end": { "line": 16, "column": 18 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 448, "end": 453, "loc": { "start": { "line": 16, "column": 20 }, "end": { "line": 16, "column": 25 } }, "left": { "type": "Identifier", "start": 448, "end": 449, "loc": { "start": { "line": 16, "column": 20 }, "end": { "line": 16, "column": 21 }, "identifierName": "y" }, "name": "y" }, "right": { "type": "NumericLiteral", "start": 452, "end": 453, "loc": { "start": { "line": 16, "column": 24 }, "end": { "line": 16, "column": 25 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 455, "end": 466, "loc": { "start": { "line": 16, "column": 27 }, "end": { "line": 16, "column": 38 } }, "left": { "type": "Identifier", "start": 455, "end": 462, "loc": { "start": { "line": 16, "column": 27 }, "end": { "line": 16, "column": 34 }, "identifierName": "padding" }, "name": "padding" }, "right": { "type": "NumericLiteral", "start": 465, "end": 466, "loc": { "start": { "line": 16, "column": 37 }, "end": { "line": 16, "column": 38 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "body": { "type": "BlockStatement", "start": 468, "end": 1270, "loc": { "start": { "line": 16, "column": 40 }, "end": { "line": 67, "column": 2 } }, "body": [ { "type": "ExpressionStatement", "start": 544, "end": 555, "loc": { "start": { "line": 21, "column": 2 }, "end": { "line": 21, "column": 13 } }, "expression": { "type": "AssignmentExpression", "start": 544, "end": 554, "loc": { "start": { "line": 21, "column": 2 }, "end": { "line": 21, "column": 12 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 544, "end": 550, "loc": { "start": { "line": 21, "column": 2 }, "end": { "line": 21, "column": 8 } }, "object": { "type": "ThisExpression", "start": 544, "end": 548, "loc": { "start": { "line": 21, "column": 2 }, "end": { "line": 21, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 549, "end": 550, "loc": { "start": { "line": 21, "column": 7 }, "end": { "line": 21, "column": 8 }, "identifierName": "x" }, "name": "x" }, "computed": false, "leadingComments": null }, "right": { "type": "Identifier", "start": 553, "end": 554, "loc": { "start": { "line": 21, "column": 11 }, "end": { "line": 21, "column": 12 }, "identifierName": "x" }, "name": "x" }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The X coordinate of the body\n\t\t * @type {Number}\n\t\t ", "start": 472, "end": 541, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 20, "column": 5 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The Y coordinate of the body\n\t\t * @type {Number}\n\t\t ", "start": 559, "end": 628, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 26, "column": 5 } } } ] }, { "type": "ExpressionStatement", "start": 631, "end": 642, "loc": { "start": { "line": 27, "column": 2 }, "end": { "line": 27, "column": 13 } }, "expression": { "type": "AssignmentExpression", "start": 631, "end": 641, "loc": { "start": { "line": 27, "column": 2 }, "end": { "line": 27, "column": 12 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 631, "end": 637, "loc": { "start": { "line": 27, "column": 2 }, "end": { "line": 27, "column": 8 } }, "object": { "type": "ThisExpression", "start": 631, "end": 635, "loc": { "start": { "line": 27, "column": 2 }, "end": { "line": 27, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 636, "end": 637, "loc": { "start": { "line": 27, "column": 7 }, "end": { "line": 27, "column": 8 }, "identifierName": "y" }, "name": "y" }, "computed": false, "leadingComments": null }, "right": { "type": "Identifier", "start": 640, "end": 641, "loc": { "start": { "line": 27, "column": 11 }, "end": { "line": 27, "column": 12 }, "identifierName": "y" }, "name": "y" }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The Y coordinate of the body\n\t\t * @type {Number}\n\t\t ", "start": 559, "end": 628, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 26, "column": 5 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The amount to pad the bounding volume when testing for potential collisions\n\t\t * @type {Number}\n\t\t ", "start": 646, "end": 762, "loc": { "start": { "line": 29, "column": 2 }, "end": { "line": 32, "column": 5 } } } ] }, { "type": "ExpressionStatement", "start": 765, "end": 788, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 33, "column": 25 } }, "expression": { "type": "AssignmentExpression", "start": 765, "end": 787, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 33, "column": 24 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 765, "end": 777, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 33, "column": 14 } }, "object": { "type": "ThisExpression", "start": 765, "end": 769, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 33, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 770, "end": 777, "loc": { "start": { "line": 33, "column": 7 }, "end": { "line": 33, "column": 14 }, "identifierName": "padding" }, "name": "padding" }, "computed": false, "leadingComments": null }, "right": { "type": "Identifier", "start": 780, "end": 787, "loc": { "start": { "line": 33, "column": 17 }, "end": { "line": 33, "column": 24 }, "identifierName": "padding" }, "name": "padding" }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The amount to pad the bounding volume when testing for potential collisions\n\t\t * @type {Number}\n\t\t ", "start": 646, "end": 762, "loc": { "start": { "line": 29, "column": 2 }, "end": { "line": 32, "column": 5 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 792, "end": 807, "loc": { "start": { "line": 35, "column": 2 }, "end": { "line": 35, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 810, "end": 831, "loc": { "start": { "line": 36, "column": 2 }, "end": { "line": 36, "column": 23 } }, "expression": { "type": "AssignmentExpression", "start": 810, "end": 830, "loc": { "start": { "line": 36, "column": 2 }, "end": { "line": 36, "column": 22 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 810, "end": 822, "loc": { "start": { "line": 36, "column": 2 }, "end": { "line": 36, "column": 14 } }, "object": { "type": "ThisExpression", "start": 810, "end": 814, "loc": { "start": { "line": 36, "column": 2 }, "end": { "line": 36, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 815, "end": 822, "loc": { "start": { "line": 36, "column": 7 }, "end": { "line": 36, "column": 14 }, "identifierName": "_circle" }, "name": "_circle" }, "computed": false, "leadingComments": null }, "right": { "type": "BooleanLiteral", "start": 825, "end": 830, "loc": { "start": { "line": 36, "column": 17 }, "end": { "line": 36, "column": 22 } }, "value": false }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 792, "end": 807, "loc": { "start": { "line": 35, "column": 2 }, "end": { "line": 35, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 835, "end": 850, "loc": { "start": { "line": 38, "column": 2 }, "end": { "line": 38, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 853, "end": 875, "loc": { "start": { "line": 39, "column": 2 }, "end": { "line": 39, "column": 24 } }, "expression": { "type": "AssignmentExpression", "start": 853, "end": 874, "loc": { "start": { "line": 39, "column": 2 }, "end": { "line": 39, "column": 23 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 853, "end": 866, "loc": { "start": { "line": 39, "column": 2 }, "end": { "line": 39, "column": 15 } }, "object": { "type": "ThisExpression", "start": 853, "end": 857, "loc": { "start": { "line": 39, "column": 2 }, "end": { "line": 39, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 858, "end": 866, "loc": { "start": { "line": 39, "column": 7 }, "end": { "line": 39, "column": 15 }, "identifierName": "_polygon" }, "name": "_polygon" }, "computed": false, "leadingComments": null }, "right": { "type": "BooleanLiteral", "start": 869, "end": 874, "loc": { "start": { "line": 39, "column": 18 }, "end": { "line": 39, "column": 23 } }, "value": false }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 835, "end": 850, "loc": { "start": { "line": 38, "column": 2 }, "end": { "line": 38, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 879, "end": 894, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 897, "end": 917, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 42, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 897, "end": 916, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 42, "column": 21 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 897, "end": 908, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 42, "column": 13 } }, "object": { "type": "ThisExpression", "start": 897, "end": 901, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 42, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 902, "end": 908, "loc": { "start": { "line": 42, "column": 7 }, "end": { "line": 42, "column": 13 }, "identifierName": "_point" }, "name": "_point" }, "computed": false, "leadingComments": null }, "right": { "type": "BooleanLiteral", "start": 911, "end": 916, "loc": { "start": { "line": 42, "column": 16 }, "end": { "line": 42, "column": 21 } }, "value": false }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 879, "end": 894, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 921, "end": 936, "loc": { "start": { "line": 44, "column": 2 }, "end": { "line": 44, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 939, "end": 956, "loc": { "start": { "line": 45, "column": 2 }, "end": { "line": 45, "column": 19 } }, "expression": { "type": "AssignmentExpression", "start": 939, "end": 955, "loc": { "start": { "line": 45, "column": 2 }, "end": { "line": 45, "column": 18 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 939, "end": 948, "loc": { "start": { "line": 45, "column": 2 }, "end": { "line": 45, "column": 11 } }, "object": { "type": "ThisExpression", "start": 939, "end": 943, "loc": { "start": { "line": 45, "column": 2 }, "end": { "line": 45, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 944, "end": 948, "loc": { "start": { "line": 45, "column": 7 }, "end": { "line": 45, "column": 11 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false, "leadingComments": null }, "right": { "type": "NullLiteral", "start": 951, "end": 955, "loc": { "start": { "line": 45, "column": 14 }, "end": { "line": 45, "column": 18 } } }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 921, "end": 936, "loc": { "start": { "line": 44, "column": 2 }, "end": { "line": 44, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 960, "end": 975, "loc": { "start": { "line": 47, "column": 2 }, "end": { "line": 47, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 978, "end": 1002, "loc": { "start": { "line": 48, "column": 2 }, "end": { "line": 48, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 978, "end": 1001, "loc": { "start": { "line": 48, "column": 2 }, "end": { "line": 48, "column": 25 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 978, "end": 994, "loc": { "start": { "line": 48, "column": 2 }, "end": { "line": 48, "column": 18 } }, "object": { "type": "ThisExpression", "start": 978, "end": 982, "loc": { "start": { "line": 48, "column": 2 }, "end": { "line": 48, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 983, "end": 994, "loc": { "start": { "line": 48, "column": 7 }, "end": { "line": 48, "column": 18 }, "identifierName": "_bvh_parent" }, "name": "_bvh_parent" }, "computed": false, "leadingComments": null }, "right": { "type": "NullLiteral", "start": 997, "end": 1001, "loc": { "start": { "line": 48, "column": 21 }, "end": { "line": 48, "column": 25 } } }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 960, "end": 975, "loc": { "start": { "line": 47, "column": 2 }, "end": { "line": 47, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1006, "end": 1021, "loc": { "start": { "line": 50, "column": 2 }, "end": { "line": 50, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1024, "end": 1049, "loc": { "start": { "line": 51, "column": 2 }, "end": { "line": 51, "column": 27 } }, "expression": { "type": "AssignmentExpression", "start": 1024, "end": 1048, "loc": { "start": { "line": 51, "column": 2 }, "end": { "line": 51, "column": 26 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1024, "end": 1040, "loc": { "start": { "line": 51, "column": 2 }, "end": { "line": 51, "column": 18 } }, "object": { "type": "ThisExpression", "start": 1024, "end": 1028, "loc": { "start": { "line": 51, "column": 2 }, "end": { "line": 51, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1029, "end": 1040, "loc": { "start": { "line": 51, "column": 7 }, "end": { "line": 51, "column": 18 }, "identifierName": "_bvh_branch" }, "name": "_bvh_branch" }, "computed": false, "leadingComments": null }, "right": { "type": "BooleanLiteral", "start": 1043, "end": 1048, "loc": { "start": { "line": 51, "column": 21 }, "end": { "line": 51, "column": 26 } }, "value": false }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1006, "end": 1021, "loc": { "start": { "line": 50, "column": 2 }, "end": { "line": 50, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1053, "end": 1068, "loc": { "start": { "line": 53, "column": 2 }, "end": { "line": 53, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1071, "end": 1099, "loc": { "start": { "line": 54, "column": 2 }, "end": { "line": 54, "column": 30 } }, "expression": { "type": "AssignmentExpression", "start": 1071, "end": 1098, "loc": { "start": { "line": 54, "column": 2 }, "end": { "line": 54, "column": 29 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1071, "end": 1088, "loc": { "start": { "line": 54, "column": 2 }, "end": { "line": 54, "column": 19 } }, "object": { "type": "ThisExpression", "start": 1071, "end": 1075, "loc": { "start": { "line": 54, "column": 2 }, "end": { "line": 54, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1076, "end": 1088, "loc": { "start": { "line": 54, "column": 7 }, "end": { "line": 54, "column": 19 }, "identifierName": "_bvh_padding" }, "name": "_bvh_padding" }, "computed": false, "leadingComments": null }, "right": { "type": "Identifier", "start": 1091, "end": 1098, "loc": { "start": { "line": 54, "column": 22 }, "end": { "line": 54, "column": 29 }, "identifierName": "padding" }, "name": "padding" }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1053, "end": 1068, "loc": { "start": { "line": 53, "column": 2 }, "end": { "line": 53, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1103, "end": 1118, "loc": { "start": { "line": 56, "column": 2 }, "end": { "line": 56, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1121, "end": 1141, "loc": { "start": { "line": 57, "column": 2 }, "end": { "line": 57, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 1121, "end": 1140, "loc": { "start": { "line": 57, "column": 2 }, "end": { "line": 57, "column": 21 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1121, "end": 1136, "loc": { "start": { "line": 57, "column": 2 }, "end": { "line": 57, "column": 17 } }, "object": { "type": "ThisExpression", "start": 1121, "end": 1125, "loc": { "start": { "line": 57, "column": 2 }, "end": { "line": 57, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1126, "end": 1136, "loc": { "start": { "line": 57, "column": 7 }, "end": { "line": 57, "column": 17 }, "identifierName": "_bvh_min_x" }, "name": "_bvh_min_x" }, "computed": false, "leadingComments": null }, "right": { "type": "NumericLiteral", "start": 1139, "end": 1140, "loc": { "start": { "line": 57, "column": 20 }, "end": { "line": 57, "column": 21 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1103, "end": 1118, "loc": { "start": { "line": 56, "column": 2 }, "end": { "line": 56, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1145, "end": 1160, "loc": { "start": { "line": 59, "column": 2 }, "end": { "line": 59, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1163, "end": 1183, "loc": { "start": { "line": 60, "column": 2 }, "end": { "line": 60, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 1163, "end": 1182, "loc": { "start": { "line": 60, "column": 2 }, "end": { "line": 60, "column": 21 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1163, "end": 1178, "loc": { "start": { "line": 60, "column": 2 }, "end": { "line": 60, "column": 17 } }, "object": { "type": "ThisExpression", "start": 1163, "end": 1167, "loc": { "start": { "line": 60, "column": 2 }, "end": { "line": 60, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1168, "end": 1178, "loc": { "start": { "line": 60, "column": 7 }, "end": { "line": 60, "column": 17 }, "identifierName": "_bvh_min_y" }, "name": "_bvh_min_y" }, "computed": false, "leadingComments": null }, "right": { "type": "NumericLiteral", "start": 1181, "end": 1182, "loc": { "start": { "line": 60, "column": 20 }, "end": { "line": 60, "column": 21 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1145, "end": 1160, "loc": { "start": { "line": 59, "column": 2 }, "end": { "line": 59, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1187, "end": 1202, "loc": { "start": { "line": 62, "column": 2 }, "end": { "line": 62, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1205, "end": 1225, "loc": { "start": { "line": 63, "column": 2 }, "end": { "line": 63, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 1205, "end": 1224, "loc": { "start": { "line": 63, "column": 2 }, "end": { "line": 63, "column": 21 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1205, "end": 1220, "loc": { "start": { "line": 63, "column": 2 }, "end": { "line": 63, "column": 17 } }, "object": { "type": "ThisExpression", "start": 1205, "end": 1209, "loc": { "start": { "line": 63, "column": 2 }, "end": { "line": 63, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1210, "end": 1220, "loc": { "start": { "line": 63, "column": 7 }, "end": { "line": 63, "column": 17 }, "identifierName": "_bvh_max_x" }, "name": "_bvh_max_x" }, "computed": false, "leadingComments": null }, "right": { "type": "NumericLiteral", "start": 1223, "end": 1224, "loc": { "start": { "line": 63, "column": 20 }, "end": { "line": 63, "column": 21 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1187, "end": 1202, "loc": { "start": { "line": 62, "column": 2 }, "end": { "line": 62, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1229, "end": 1244, "loc": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1247, "end": 1267, "loc": { "start": { "line": 66, "column": 2 }, "end": { "line": 66, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 1247, "end": 1266, "loc": { "start": { "line": 66, "column": 2 }, "end": { "line": 66, "column": 21 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1247, "end": 1262, "loc": { "start": { "line": 66, "column": 2 }, "end": { "line": 66, "column": 17 } }, "object": { "type": "ThisExpression", "start": 1247, "end": 1251, "loc": { "start": { "line": 66, "column": 2 }, "end": { "line": 66, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1252, "end": 1262, "loc": { "start": { "line": 66, "column": 7 }, "end": { "line": 66, "column": 17 }, "identifierName": "_bvh_max_y" }, "name": "_bvh_max_y" }, "computed": false, "leadingComments": null }, "right": { "type": "NumericLiteral", "start": 1265, "end": 1266, "loc": { "start": { "line": 66, "column": 20 }, "end": { "line": 66, "column": 21 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1229, "end": 1244, "loc": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": 17 } } } ] } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t ", "start": 184, "end": 427, "loc": { "start": { "line": 10, "column": 1 }, "end": { "line": 15, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Determines if the body is colliding with another body\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t ", "start": 1273, "end": 1666, "loc": { "start": { "line": 69, "column": 1 }, "end": { "line": 75, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 1668, "end": 1759, "loc": { "start": { "line": 76, "column": 1 }, "end": { "line": 78, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 1668, "end": 1676, "loc": { "start": { "line": 76, "column": 1 }, "end": { "line": 76, "column": 9 }, "identifierName": "collides" }, "name": "collides", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 1677, "end": 1683, "loc": { "start": { "line": 76, "column": 10 }, "end": { "line": 76, "column": 16 }, "identifierName": "target" }, "name": "target" }, { "type": "AssignmentPattern", "start": 1685, "end": 1698, "loc": { "start": { "line": 76, "column": 18 }, "end": { "line": 76, "column": 31 } }, "left": { "type": "Identifier", "start": 1685, "end": 1691, "loc": { "start": { "line": 76, "column": 18 }, "end": { "line": 76, "column": 24 }, "identifierName": "result" }, "name": "result" }, "right": { "type": "NullLiteral", "start": 1694, "end": 1698, "loc": { "start": { "line": 76, "column": 27 }, "end": { "line": 76, "column": 31 } } } }, { "type": "AssignmentPattern", "start": 1700, "end": 1711, "loc": { "start": { "line": 76, "column": 33 }, "end": { "line": 76, "column": 44 } }, "left": { "type": "Identifier", "start": 1700, "end": 1704, "loc": { "start": { "line": 76, "column": 33 }, "end": { "line": 76, "column": 37 }, "identifierName": "aabb" }, "name": "aabb" }, "right": { "type": "BooleanLiteral", "start": 1707, "end": 1711, "loc": { "start": { "line": 76, "column": 40 }, "end": { "line": 76, "column": 44 } }, "value": true } } ], "body": { "type": "BlockStatement", "start": 1713, "end": 1759, "loc": { "start": { "line": 76, "column": 46 }, "end": { "line": 78, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 1717, "end": 1756, "loc": { "start": { "line": 77, "column": 2 }, "end": { "line": 77, "column": 41 } }, "argument": { "type": "CallExpression", "start": 1724, "end": 1755, "loc": { "start": { "line": 77, "column": 9 }, "end": { "line": 77, "column": 40 } }, "callee": { "type": "Identifier", "start": 1724, "end": 1727, "loc": { "start": { "line": 77, "column": 9 }, "end": { "line": 77, "column": 12 }, "identifierName": "SAT" }, "name": "SAT" }, "arguments": [ { "type": "ThisExpression", "start": 1728, "end": 1732, "loc": { "start": { "line": 77, "column": 13 }, "end": { "line": 77, "column": 17 } } }, { "type": "Identifier", "start": 1734, "end": 1740, "loc": { "start": { "line": 77, "column": 19 }, "end": { "line": 77, "column": 25 }, "identifierName": "target" }, "name": "target" }, { "type": "Identifier", "start": 1742, "end": 1748, "loc": { "start": { "line": 77, "column": 27 }, "end": { "line": 77, "column": 33 }, "identifierName": "result" }, "name": "result" }, { "type": "Identifier", "start": 1750, "end": 1754, "loc": { "start": { "line": 77, "column": 35 }, "end": { "line": 77, "column": 39 }, "identifierName": "aabb" }, "name": "aabb" } ] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Determines if the body is colliding with another body\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t ", "start": 1273, "end": 1666, "loc": { "start": { "line": 69, "column": 1 }, "end": { "line": 75, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Returns a list of potential collisions\n\t * @returns {Array}\n\t ", "start": 1762, "end": 1840, "loc": { "start": { "line": 80, "column": 1 }, "end": { "line": 83, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 1842, "end": 2008, "loc": { "start": { "line": 84, "column": 1 }, "end": { "line": 92, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 1842, "end": 1852, "loc": { "start": { "line": 84, "column": 1 }, "end": { "line": 84, "column": 11 }, "identifierName": "potentials" }, "name": "potentials", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 1855, "end": 2008, "loc": { "start": { "line": 84, "column": 14 }, "end": { "line": 92, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 1859, "end": 1881, "loc": { "start": { "line": 85, "column": 2 }, "end": { "line": 85, "column": 24 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1865, "end": 1880, "loc": { "start": { "line": 85, "column": 8 }, "end": { "line": 85, "column": 23 } }, "id": { "type": "Identifier", "start": 1865, "end": 1868, "loc": { "start": { "line": 85, "column": 8 }, "end": { "line": 85, "column": 11 }, "identifierName": "bvh" }, "name": "bvh" }, "init": { "type": "MemberExpression", "start": 1871, "end": 1880, "loc": { "start": { "line": 85, "column": 14 }, "end": { "line": 85, "column": 23 } }, "object": { "type": "ThisExpression", "start": 1871, "end": 1875, "loc": { "start": { "line": 85, "column": 14 }, "end": { "line": 85, "column": 18 } } }, "property": { "type": "Identifier", "start": 1876, "end": 1880, "loc": { "start": { "line": 85, "column": 19 }, "end": { "line": 85, "column": 23 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false } } ], "kind": "const" }, { "type": "IfStatement", "start": 1885, "end": 1973, "loc": { "start": { "line": 87, "column": 2 }, "end": { "line": 89, "column": 3 } }, "test": { "type": "BinaryExpression", "start": 1888, "end": 1900, "loc": { "start": { "line": 87, "column": 5 }, "end": { "line": 87, "column": 17 } }, "left": { "type": "Identifier", "start": 1888, "end": 1891, "loc": { "start": { "line": 87, "column": 5 }, "end": { "line": 87, "column": 8 }, "identifierName": "bvh" }, "name": "bvh" }, "operator": "===", "right": { "type": "NullLiteral", "start": 1896, "end": 1900, "loc": { "start": { "line": 87, "column": 13 }, "end": { "line": 87, "column": 17 } } } }, "consequent": { "type": "BlockStatement", "start": 1902, "end": 1973, "loc": { "start": { "line": 87, "column": 19 }, "end": { "line": 89, "column": 3 } }, "body": [ { "type": "ThrowStatement", "start": 1907, "end": 1969, "loc": { "start": { "line": 88, "column": 3 }, "end": { "line": 88, "column": 65 } }, "argument": { "type": "NewExpression", "start": 1913, "end": 1968, "loc": { "start": { "line": 88, "column": 9 }, "end": { "line": 88, "column": 64 } }, "callee": { "type": "Identifier", "start": 1917, "end": 1922, "loc": { "start": { "line": 88, "column": 13 }, "end": { "line": 88, "column": 18 }, "identifierName": "Error" }, "name": "Error" }, "arguments": [ { "type": "StringLiteral", "start": 1923, "end": 1967, "loc": { "start": { "line": 88, "column": 19 }, "end": { "line": 88, "column": 63 } }, "extra": { "rawValue": "Body does not belong to a collision system", "raw": "'Body does not belong to a collision system'" }, "value": "Body does not belong to a collision system" } ] } } ], "directives": [] }, "alternate": null }, { "type": "ReturnStatement", "start": 1977, "end": 2005, "loc": { "start": { "line": 91, "column": 2 }, "end": { "line": 91, "column": 30 } }, "argument": { "type": "CallExpression", "start": 1984, "end": 2004, "loc": { "start": { "line": 91, "column": 9 }, "end": { "line": 91, "column": 29 } }, "callee": { "type": "MemberExpression", "start": 1984, "end": 1998, "loc": { "start": { "line": 91, "column": 9 }, "end": { "line": 91, "column": 23 } }, "object": { "type": "Identifier", "start": 1984, "end": 1987, "loc": { "start": { "line": 91, "column": 9 }, "end": { "line": 91, "column": 12 }, "identifierName": "bvh" }, "name": "bvh" }, "property": { "type": "Identifier", "start": 1988, "end": 1998, "loc": { "start": { "line": 91, "column": 13 }, "end": { "line": 91, "column": 23 }, "identifierName": "potentials" }, "name": "potentials" }, "computed": false }, "arguments": [ { "type": "ThisExpression", "start": 1999, "end": 2003, "loc": { "start": { "line": 91, "column": 24 }, "end": { "line": 91, "column": 28 } } } ] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Returns a list of potential collisions\n\t * @returns {Array}\n\t ", "start": 1762, "end": 1840, "loc": { "start": { "line": 80, "column": 1 }, "end": { "line": 83, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Removes the body from its current collision system\n\t ", "start": 2011, "end": 2074, "loc": { "start": { "line": 94, "column": 1 }, "end": { "line": 96, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 2076, "end": 2159, "loc": { "start": { "line": 97, "column": 1 }, "end": { "line": 103, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 2076, "end": 2082, "loc": { "start": { "line": 97, "column": 1 }, "end": { "line": 97, "column": 7 }, "identifierName": "remove" }, "name": "remove", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 2085, "end": 2159, "loc": { "start": { "line": 97, "column": 10 }, "end": { "line": 103, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 2089, "end": 2111, "loc": { "start": { "line": 98, "column": 2 }, "end": { "line": 98, "column": 24 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2095, "end": 2110, "loc": { "start": { "line": 98, "column": 8 }, "end": { "line": 98, "column": 23 } }, "id": { "type": "Identifier", "start": 2095, "end": 2098, "loc": { "start": { "line": 98, "column": 8 }, "end": { "line": 98, "column": 11 }, "identifierName": "bvh" }, "name": "bvh" }, "init": { "type": "MemberExpression", "start": 2101, "end": 2110, "loc": { "start": { "line": 98, "column": 14 }, "end": { "line": 98, "column": 23 } }, "object": { "type": "ThisExpression", "start": 2101, "end": 2105, "loc": { "start": { "line": 98, "column": 14 }, "end": { "line": 98, "column": 18 } } }, "property": { "type": "Identifier", "start": 2106, "end": 2110, "loc": { "start": { "line": 98, "column": 19 }, "end": { "line": 98, "column": 23 }, "identifierName": "_bvh" }, "name": "_bvh" }, "computed": false } } ], "kind": "const" }, { "type": "IfStatement", "start": 2115, "end": 2156, "loc": { "start": { "line": 100, "column": 2 }, "end": { "line": 102, "column": 3 } }, "test": { "type": "Identifier", "start": 2118, "end": 2121, "loc": { "start": { "line": 100, "column": 5 }, "end": { "line": 100, "column": 8 }, "identifierName": "bvh" }, "name": "bvh" }, "consequent": { "type": "BlockStatement", "start": 2123, "end": 2156, "loc": { "start": { "line": 100, "column": 10 }, "end": { "line": 102, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 2128, "end": 2152, "loc": { "start": { "line": 101, "column": 3 }, "end": { "line": 101, "column": 27 } }, "expression": { "type": "CallExpression", "start": 2128, "end": 2151, "loc": { "start": { "line": 101, "column": 3 }, "end": { "line": 101, "column": 26 } }, "callee": { "type": "MemberExpression", "start": 2128, "end": 2138, "loc": { "start": { "line": 101, "column": 3 }, "end": { "line": 101, "column": 13 } }, "object": { "type": "Identifier", "start": 2128, "end": 2131, "loc": { "start": { "line": 101, "column": 3 }, "end": { "line": 101, "column": 6 }, "identifierName": "bvh" }, "name": "bvh" }, "property": { "type": "Identifier", "start": 2132, "end": 2138, "loc": { "start": { "line": 101, "column": 7 }, "end": { "line": 101, "column": 13 }, "identifierName": "remove" }, "name": "remove" }, "computed": false }, "arguments": [ { "type": "ThisExpression", "start": 2139, "end": 2143, "loc": { "start": { "line": 101, "column": 14 }, "end": { "line": 101, "column": 18 } } }, { "type": "BooleanLiteral", "start": 2145, "end": 2150, "loc": { "start": { "line": 101, "column": 20 }, "end": { "line": 101, "column": 25 } }, "value": false } ] } } ], "directives": [] }, "alternate": null } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Removes the body from its current collision system\n\t ", "start": 2011, "end": 2074, "loc": { "start": { "line": 94, "column": 1 }, "end": { "line": 96, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t ", "start": 2162, "end": 2256, "loc": { "start": { "line": 105, "column": 1 }, "end": { "line": 107, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 2258, "end": 2300, "loc": { "start": { "line": 108, "column": 1 }, "end": { "line": 110, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 2258, "end": 2270, "loc": { "start": { "line": 108, "column": 1 }, "end": { "line": 108, "column": 13 }, "identifierName": "createResult" }, "name": "createResult", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 2273, "end": 2300, "loc": { "start": { "line": 108, "column": 16 }, "end": { "line": 110, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 2277, "end": 2297, "loc": { "start": { "line": 109, "column": 2 }, "end": { "line": 109, "column": 22 } }, "argument": { "type": "NewExpression", "start": 2284, "end": 2296, "loc": { "start": { "line": 109, "column": 9 }, "end": { "line": 109, "column": 21 } }, "callee": { "type": "Identifier", "start": 2288, "end": 2294, "loc": { "start": { "line": 109, "column": 13 }, "end": { "line": 109, "column": 19 }, "identifierName": "Result" }, "name": "Result" }, "arguments": [] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t ", "start": 2162, "end": 2256, "loc": { "start": { "line": 105, "column": 1 }, "end": { "line": 107, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a Result used to collect the detailed results of a collision test\n\t ", "start": 2303, "end": 2389, "loc": { "start": { "line": 112, "column": 1 }, "end": { "line": 114, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 2391, "end": 2440, "loc": { "start": { "line": 115, "column": 1 }, "end": { "line": 117, "column": 2 } }, "static": true, "computed": false, "key": { "type": "Identifier", "start": 2398, "end": 2410, "loc": { "start": { "line": 115, "column": 8 }, "end": { "line": 115, "column": 20 }, "identifierName": "createResult" }, "name": "createResult" }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 2413, "end": 2440, "loc": { "start": { "line": 115, "column": 23 }, "end": { "line": 117, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 2417, "end": 2437, "loc": { "start": { "line": 116, "column": 2 }, "end": { "line": 116, "column": 22 } }, "argument": { "type": "NewExpression", "start": 2424, "end": 2436, "loc": { "start": { "line": 116, "column": 9 }, "end": { "line": 116, "column": 21 } }, "callee": { "type": "Identifier", "start": 2428, "end": 2434, "loc": { "start": { "line": 116, "column": 13 }, "end": { "line": 116, "column": 19 }, "identifierName": "Result" }, "name": "Result" }, "arguments": [] } } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Creates a Result used to collect the detailed results of a collision test\n\t ", "start": 2303, "end": 2389, "loc": { "start": { "line": 112, "column": 1 }, "end": { "line": 114, "column": 4 } } } ] } ] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * The base class for bodies used to detect collisions\n * @class\n * @protected\n ", "start": 68, "end": 154, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 8, "column": 3 } } } ], "trailingComments": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * The base class for bodies used to detect collisions\n * @class\n * @protected\n ", "start": 68, "end": 154, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 8, "column": 3 } } } ] }, { "type": "EmptyStatement", "start": 2442, "end": 2443, "loc": { "start": { "line": 118, "column": 1 }, "end": { "line": 118, "column": 2 } } } ], "directives": [] }, "comments": [ { "type": "CommentBlock", "value": "*\n * The base class for bodies used to detect collisions\n * @class\n * @protected\n ", "start": 68, "end": 154, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 8, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t ", "start": 184, "end": 427, "loc": { "start": { "line": 10, "column": 1 }, "end": { "line": 15, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The X coordinate of the body\n\t\t * @type {Number}\n\t\t ", "start": 472, "end": 541, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 20, "column": 5 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The Y coordinate of the body\n\t\t * @type {Number}\n\t\t ", "start": 559, "end": 628, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 26, "column": 5 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The amount to pad the bounding volume when testing for potential collisions\n\t\t * @type {Number}\n\t\t ", "start": 646, "end": 762, "loc": { "start": { "line": 29, "column": 2 }, "end": { "line": 32, "column": 5 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 792, "end": 807, "loc": { "start": { "line": 35, "column": 2 }, "end": { "line": 35, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 835, "end": 850, "loc": { "start": { "line": 38, "column": 2 }, "end": { "line": 38, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 879, "end": 894, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 921, "end": 936, "loc": { "start": { "line": 44, "column": 2 }, "end": { "line": 44, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 960, "end": 975, "loc": { "start": { "line": 47, "column": 2 }, "end": { "line": 47, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1006, "end": 1021, "loc": { "start": { "line": 50, "column": 2 }, "end": { "line": 50, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1053, "end": 1068, "loc": { "start": { "line": 53, "column": 2 }, "end": { "line": 53, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1103, "end": 1118, "loc": { "start": { "line": 56, "column": 2 }, "end": { "line": 56, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1145, "end": 1160, "loc": { "start": { "line": 59, "column": 2 }, "end": { "line": 59, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1187, "end": 1202, "loc": { "start": { "line": 62, "column": 2 }, "end": { "line": 62, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1229, "end": 1244, "loc": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": 17 } } }, { "type": "CommentBlock", "value": "*\n\t * Determines if the body is colliding with another body\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t ", "start": 1273, "end": 1666, "loc": { "start": { "line": 69, "column": 1 }, "end": { "line": 75, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Returns a list of potential collisions\n\t * @returns {Array}\n\t ", "start": 1762, "end": 1840, "loc": { "start": { "line": 80, "column": 1 }, "end": { "line": 83, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Removes the body from its current collision system\n\t ", "start": 2011, "end": 2074, "loc": { "start": { "line": 94, "column": 1 }, "end": { "line": 96, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t ", "start": 2162, "end": 2256, "loc": { "start": { "line": 105, "column": 1 }, "end": { "line": 107, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Creates a Result used to collect the detailed results of a collision test\n\t ", "start": 2303, "end": 2389, "loc": { "start": { "line": 112, "column": 1 }, "end": { "line": 114, "column": 4 } } } ], "tokens": [ { "type": { "label": "import", "keyword": "import", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "import", "start": 0, "end": 6, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Result", "start": 7, "end": 13, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 14, "end": 18, "loc": { "start": { "line": 1, "column": 14 }, "end": { "line": 1, "column": 18 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./Result.mjs", "start": 19, "end": 33, "loc": { "start": { "line": 1, "column": 19 }, "end": { "line": 1, "column": 33 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 33, "end": 34, "loc": { "start": { "line": 1, "column": 33 }, "end": { "line": 1, "column": 34 } } }, { "type": { "label": "import", "keyword": "import", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "import", "start": 35, "end": 41, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "SAT", "start": 42, "end": 45, "loc": { "start": { "line": 2, "column": 7 }, "end": { "line": 2, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 49, "end": 53, "loc": { "start": { "line": 2, "column": 14 }, "end": { "line": 2, "column": 18 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./SAT.mjs", "start": 54, "end": 65, "loc": { "start": { "line": 2, "column": 19 }, "end": { "line": 2, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 65, "end": 66, "loc": { "start": { "line": 2, "column": 30 }, "end": { "line": 2, "column": 31 } } }, { "type": "CommentBlock", "value": "*\n * The base class for bodies used to detect collisions\n * @class\n * @protected\n ", "start": 68, "end": 154, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 8, "column": 3 } } }, { "type": { "label": "export", "keyword": "export", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "export", "start": 155, "end": 161, "loc": { "start": { "line": 9, "column": 0 }, "end": { "line": 9, "column": 6 } } }, { "type": { "label": "default", "keyword": "default", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "default", "start": 162, "end": 169, "loc": { "start": { "line": 9, "column": 7 }, "end": { "line": 9, "column": 14 } } }, { "type": { "label": "class", "keyword": "class", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "class", "start": 170, "end": 175, "loc": { "start": { "line": 9, "column": 15 }, "end": { "line": 9, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Body", "start": 176, "end": 180, "loc": { "start": { "line": 9, "column": 21 }, "end": { "line": 9, "column": 25 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 181, "end": 182, "loc": { "start": { "line": 9, "column": 26 }, "end": { "line": 9, "column": 27 } } }, { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t ", "start": 184, "end": 427, "loc": { "start": { "line": 10, "column": 1 }, "end": { "line": 15, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "constructor", "start": 429, "end": 440, "loc": { "start": { "line": 16, "column": 1 }, "end": { "line": 16, "column": 12 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 440, "end": 441, "loc": { "start": { "line": 16, "column": 12 }, "end": { "line": 16, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 441, "end": 442, "loc": { "start": { "line": 16, "column": 13 }, "end": { "line": 16, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 443, "end": 444, "loc": { "start": { "line": 16, "column": 15 }, "end": { "line": 16, "column": 16 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 445, "end": 446, "loc": { "start": { "line": 16, "column": 17 }, "end": { "line": 16, "column": 18 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 446, "end": 447, "loc": { "start": { "line": 16, "column": 18 }, "end": { "line": 16, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 448, "end": 449, "loc": { "start": { "line": 16, "column": 20 }, "end": { "line": 16, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 450, "end": 451, "loc": { "start": { "line": 16, "column": 22 }, "end": { "line": 16, "column": 23 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 452, "end": 453, "loc": { "start": { "line": 16, "column": 24 }, "end": { "line": 16, "column": 25 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 453, "end": 454, "loc": { "start": { "line": 16, "column": 25 }, "end": { "line": 16, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 455, "end": 462, "loc": { "start": { "line": 16, "column": 27 }, "end": { "line": 16, "column": 34 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 463, "end": 464, "loc": { "start": { "line": 16, "column": 35 }, "end": { "line": 16, "column": 36 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 465, "end": 466, "loc": { "start": { "line": 16, "column": 37 }, "end": { "line": 16, "column": 38 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 466, "end": 467, "loc": { "start": { "line": 16, "column": 38 }, "end": { "line": 16, "column": 39 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 468, "end": 469, "loc": { "start": { "line": 16, "column": 40 }, "end": { "line": 16, "column": 41 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The X coordinate of the body\n\t\t * @type {Number}\n\t\t ", "start": 472, "end": 541, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 20, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 544, "end": 548, "loc": { "start": { "line": 21, "column": 2 }, "end": { "line": 21, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 548, "end": 549, "loc": { "start": { "line": 21, "column": 6 }, "end": { "line": 21, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 549, "end": 550, "loc": { "start": { "line": 21, "column": 7 }, "end": { "line": 21, "column": 8 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 551, "end": 552, "loc": { "start": { "line": 21, "column": 9 }, "end": { "line": 21, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 553, "end": 554, "loc": { "start": { "line": 21, "column": 11 }, "end": { "line": 21, "column": 12 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 554, "end": 555, "loc": { "start": { "line": 21, "column": 12 }, "end": { "line": 21, "column": 13 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The Y coordinate of the body\n\t\t * @type {Number}\n\t\t ", "start": 559, "end": 628, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 26, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 631, "end": 635, "loc": { "start": { "line": 27, "column": 2 }, "end": { "line": 27, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 635, "end": 636, "loc": { "start": { "line": 27, "column": 6 }, "end": { "line": 27, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 636, "end": 637, "loc": { "start": { "line": 27, "column": 7 }, "end": { "line": 27, "column": 8 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 638, "end": 639, "loc": { "start": { "line": 27, "column": 9 }, "end": { "line": 27, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 640, "end": 641, "loc": { "start": { "line": 27, "column": 11 }, "end": { "line": 27, "column": 12 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 641, "end": 642, "loc": { "start": { "line": 27, "column": 12 }, "end": { "line": 27, "column": 13 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The amount to pad the bounding volume when testing for potential collisions\n\t\t * @type {Number}\n\t\t ", "start": 646, "end": 762, "loc": { "start": { "line": 29, "column": 2 }, "end": { "line": 32, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 765, "end": 769, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 33, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 769, "end": 770, "loc": { "start": { "line": 33, "column": 6 }, "end": { "line": 33, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 770, "end": 777, "loc": { "start": { "line": 33, "column": 7 }, "end": { "line": 33, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 778, "end": 779, "loc": { "start": { "line": 33, "column": 15 }, "end": { "line": 33, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 780, "end": 787, "loc": { "start": { "line": 33, "column": 17 }, "end": { "line": 33, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 787, "end": 788, "loc": { "start": { "line": 33, "column": 24 }, "end": { "line": 33, "column": 25 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 792, "end": 807, "loc": { "start": { "line": 35, "column": 2 }, "end": { "line": 35, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 810, "end": 814, "loc": { "start": { "line": 36, "column": 2 }, "end": { "line": 36, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 814, "end": 815, "loc": { "start": { "line": 36, "column": 6 }, "end": { "line": 36, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_circle", "start": 815, "end": 822, "loc": { "start": { "line": 36, "column": 7 }, "end": { "line": 36, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 823, "end": 824, "loc": { "start": { "line": 36, "column": 15 }, "end": { "line": 36, "column": 16 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 825, "end": 830, "loc": { "start": { "line": 36, "column": 17 }, "end": { "line": 36, "column": 22 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 830, "end": 831, "loc": { "start": { "line": 36, "column": 22 }, "end": { "line": 36, "column": 23 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 835, "end": 850, "loc": { "start": { "line": 38, "column": 2 }, "end": { "line": 38, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 853, "end": 857, "loc": { "start": { "line": 39, "column": 2 }, "end": { "line": 39, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 857, "end": 858, "loc": { "start": { "line": 39, "column": 6 }, "end": { "line": 39, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_polygon", "start": 858, "end": 866, "loc": { "start": { "line": 39, "column": 7 }, "end": { "line": 39, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 867, "end": 868, "loc": { "start": { "line": 39, "column": 16 }, "end": { "line": 39, "column": 17 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 869, "end": 874, "loc": { "start": { "line": 39, "column": 18 }, "end": { "line": 39, "column": 23 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 874, "end": 875, "loc": { "start": { "line": 39, "column": 23 }, "end": { "line": 39, "column": 24 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 879, "end": 894, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 897, "end": 901, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 42, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 901, "end": 902, "loc": { "start": { "line": 42, "column": 6 }, "end": { "line": 42, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_point", "start": 902, "end": 908, "loc": { "start": { "line": 42, "column": 7 }, "end": { "line": 42, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 909, "end": 910, "loc": { "start": { "line": 42, "column": 14 }, "end": { "line": 42, "column": 15 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 911, "end": 916, "loc": { "start": { "line": 42, "column": 16 }, "end": { "line": 42, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 916, "end": 917, "loc": { "start": { "line": 42, "column": 21 }, "end": { "line": 42, "column": 22 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 921, "end": 936, "loc": { "start": { "line": 44, "column": 2 }, "end": { "line": 44, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 939, "end": 943, "loc": { "start": { "line": 45, "column": 2 }, "end": { "line": 45, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 943, "end": 944, "loc": { "start": { "line": 45, "column": 6 }, "end": { "line": 45, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh", "start": 944, "end": 948, "loc": { "start": { "line": 45, "column": 7 }, "end": { "line": 45, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 949, "end": 950, "loc": { "start": { "line": 45, "column": 12 }, "end": { "line": 45, "column": 13 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 951, "end": 955, "loc": { "start": { "line": 45, "column": 14 }, "end": { "line": 45, "column": 18 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 955, "end": 956, "loc": { "start": { "line": 45, "column": 18 }, "end": { "line": 45, "column": 19 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 960, "end": 975, "loc": { "start": { "line": 47, "column": 2 }, "end": { "line": 47, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 978, "end": 982, "loc": { "start": { "line": 48, "column": 2 }, "end": { "line": 48, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 982, "end": 983, "loc": { "start": { "line": 48, "column": 6 }, "end": { "line": 48, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_parent", "start": 983, "end": 994, "loc": { "start": { "line": 48, "column": 7 }, "end": { "line": 48, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 995, "end": 996, "loc": { "start": { "line": 48, "column": 19 }, "end": { "line": 48, "column": 20 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 997, "end": 1001, "loc": { "start": { "line": 48, "column": 21 }, "end": { "line": 48, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1001, "end": 1002, "loc": { "start": { "line": 48, "column": 25 }, "end": { "line": 48, "column": 26 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1006, "end": 1021, "loc": { "start": { "line": 50, "column": 2 }, "end": { "line": 50, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1024, "end": 1028, "loc": { "start": { "line": 51, "column": 2 }, "end": { "line": 51, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1028, "end": 1029, "loc": { "start": { "line": 51, "column": 6 }, "end": { "line": 51, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_branch", "start": 1029, "end": 1040, "loc": { "start": { "line": 51, "column": 7 }, "end": { "line": 51, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1041, "end": 1042, "loc": { "start": { "line": 51, "column": 19 }, "end": { "line": 51, "column": 20 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 1043, "end": 1048, "loc": { "start": { "line": 51, "column": 21 }, "end": { "line": 51, "column": 26 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1048, "end": 1049, "loc": { "start": { "line": 51, "column": 26 }, "end": { "line": 51, "column": 27 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1053, "end": 1068, "loc": { "start": { "line": 53, "column": 2 }, "end": { "line": 53, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1071, "end": 1075, "loc": { "start": { "line": 54, "column": 2 }, "end": { "line": 54, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1075, "end": 1076, "loc": { "start": { "line": 54, "column": 6 }, "end": { "line": 54, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_padding", "start": 1076, "end": 1088, "loc": { "start": { "line": 54, "column": 7 }, "end": { "line": 54, "column": 19 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1089, "end": 1090, "loc": { "start": { "line": 54, "column": 20 }, "end": { "line": 54, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 1091, "end": 1098, "loc": { "start": { "line": 54, "column": 22 }, "end": { "line": 54, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1098, "end": 1099, "loc": { "start": { "line": 54, "column": 29 }, "end": { "line": 54, "column": 30 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1103, "end": 1118, "loc": { "start": { "line": 56, "column": 2 }, "end": { "line": 56, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1121, "end": 1125, "loc": { "start": { "line": 57, "column": 2 }, "end": { "line": 57, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1125, "end": 1126, "loc": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_x", "start": 1126, "end": 1136, "loc": { "start": { "line": 57, "column": 7 }, "end": { "line": 57, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1137, "end": 1138, "loc": { "start": { "line": 57, "column": 18 }, "end": { "line": 57, "column": 19 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1139, "end": 1140, "loc": { "start": { "line": 57, "column": 20 }, "end": { "line": 57, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1140, "end": 1141, "loc": { "start": { "line": 57, "column": 21 }, "end": { "line": 57, "column": 22 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1145, "end": 1160, "loc": { "start": { "line": 59, "column": 2 }, "end": { "line": 59, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1163, "end": 1167, "loc": { "start": { "line": 60, "column": 2 }, "end": { "line": 60, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1167, "end": 1168, "loc": { "start": { "line": 60, "column": 6 }, "end": { "line": 60, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_min_y", "start": 1168, "end": 1178, "loc": { "start": { "line": 60, "column": 7 }, "end": { "line": 60, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1179, "end": 1180, "loc": { "start": { "line": 60, "column": 18 }, "end": { "line": 60, "column": 19 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1181, "end": 1182, "loc": { "start": { "line": 60, "column": 20 }, "end": { "line": 60, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1182, "end": 1183, "loc": { "start": { "line": 60, "column": 21 }, "end": { "line": 60, "column": 22 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1187, "end": 1202, "loc": { "start": { "line": 62, "column": 2 }, "end": { "line": 62, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1205, "end": 1209, "loc": { "start": { "line": 63, "column": 2 }, "end": { "line": 63, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1209, "end": 1210, "loc": { "start": { "line": 63, "column": 6 }, "end": { "line": 63, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_x", "start": 1210, "end": 1220, "loc": { "start": { "line": 63, "column": 7 }, "end": { "line": 63, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1221, "end": 1222, "loc": { "start": { "line": 63, "column": 18 }, "end": { "line": 63, "column": 19 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1223, "end": 1224, "loc": { "start": { "line": 63, "column": 20 }, "end": { "line": 63, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1224, "end": 1225, "loc": { "start": { "line": 63, "column": 21 }, "end": { "line": 63, "column": 22 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1229, "end": 1244, "loc": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1247, "end": 1251, "loc": { "start": { "line": 66, "column": 2 }, "end": { "line": 66, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1251, "end": 1252, "loc": { "start": { "line": 66, "column": 6 }, "end": { "line": 66, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh_max_y", "start": 1252, "end": 1262, "loc": { "start": { "line": 66, "column": 7 }, "end": { "line": 66, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1263, "end": 1264, "loc": { "start": { "line": 66, "column": 18 }, "end": { "line": 66, "column": 19 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1265, "end": 1266, "loc": { "start": { "line": 66, "column": 20 }, "end": { "line": 66, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1266, "end": 1267, "loc": { "start": { "line": 66, "column": 21 }, "end": { "line": 66, "column": 22 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1269, "end": 1270, "loc": { "start": { "line": 67, "column": 1 }, "end": { "line": 67, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Determines if the body is colliding with another body\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t ", "start": 1273, "end": 1666, "loc": { "start": { "line": 69, "column": 1 }, "end": { "line": 75, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "collides", "start": 1668, "end": 1676, "loc": { "start": { "line": 76, "column": 1 }, "end": { "line": 76, "column": 9 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1676, "end": 1677, "loc": { "start": { "line": 76, "column": 9 }, "end": { "line": 76, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "target", "start": 1677, "end": 1683, "loc": { "start": { "line": 76, "column": 10 }, "end": { "line": 76, "column": 16 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1683, "end": 1684, "loc": { "start": { "line": 76, "column": 16 }, "end": { "line": 76, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 1685, "end": 1691, "loc": { "start": { "line": 76, "column": 18 }, "end": { "line": 76, "column": 24 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1692, "end": 1693, "loc": { "start": { "line": 76, "column": 25 }, "end": { "line": 76, "column": 26 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 1694, "end": 1698, "loc": { "start": { "line": 76, "column": 27 }, "end": { "line": 76, "column": 31 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1698, "end": 1699, "loc": { "start": { "line": 76, "column": 31 }, "end": { "line": 76, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "aabb", "start": 1700, "end": 1704, "loc": { "start": { "line": 76, "column": 33 }, "end": { "line": 76, "column": 37 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1705, "end": 1706, "loc": { "start": { "line": 76, "column": 38 }, "end": { "line": 76, "column": 39 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 1707, "end": 1711, "loc": { "start": { "line": 76, "column": 40 }, "end": { "line": 76, "column": 44 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1711, "end": 1712, "loc": { "start": { "line": 76, "column": 44 }, "end": { "line": 76, "column": 45 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1713, "end": 1714, "loc": { "start": { "line": 76, "column": 46 }, "end": { "line": 76, "column": 47 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 1717, "end": 1723, "loc": { "start": { "line": 77, "column": 2 }, "end": { "line": 77, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "SAT", "start": 1724, "end": 1727, "loc": { "start": { "line": 77, "column": 9 }, "end": { "line": 77, "column": 12 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1727, "end": 1728, "loc": { "start": { "line": 77, "column": 12 }, "end": { "line": 77, "column": 13 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1728, "end": 1732, "loc": { "start": { "line": 77, "column": 13 }, "end": { "line": 77, "column": 17 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1732, "end": 1733, "loc": { "start": { "line": 77, "column": 17 }, "end": { "line": 77, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "target", "start": 1734, "end": 1740, "loc": { "start": { "line": 77, "column": 19 }, "end": { "line": 77, "column": 25 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1740, "end": 1741, "loc": { "start": { "line": 77, "column": 25 }, "end": { "line": 77, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 1742, "end": 1748, "loc": { "start": { "line": 77, "column": 27 }, "end": { "line": 77, "column": 33 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1748, "end": 1749, "loc": { "start": { "line": 77, "column": 33 }, "end": { "line": 77, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "aabb", "start": 1750, "end": 1754, "loc": { "start": { "line": 77, "column": 35 }, "end": { "line": 77, "column": 39 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1754, "end": 1755, "loc": { "start": { "line": 77, "column": 39 }, "end": { "line": 77, "column": 40 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1755, "end": 1756, "loc": { "start": { "line": 77, "column": 40 }, "end": { "line": 77, "column": 41 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1758, "end": 1759, "loc": { "start": { "line": 78, "column": 1 }, "end": { "line": 78, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Returns a list of potential collisions\n\t * @returns {Array}\n\t ", "start": 1762, "end": 1840, "loc": { "start": { "line": 80, "column": 1 }, "end": { "line": 83, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "potentials", "start": 1842, "end": 1852, "loc": { "start": { "line": 84, "column": 1 }, "end": { "line": 84, "column": 11 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1852, "end": 1853, "loc": { "start": { "line": 84, "column": 11 }, "end": { "line": 84, "column": 12 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1853, "end": 1854, "loc": { "start": { "line": 84, "column": 12 }, "end": { "line": 84, "column": 13 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1855, "end": 1856, "loc": { "start": { "line": 84, "column": 14 }, "end": { "line": 84, "column": 15 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 1859, "end": 1864, "loc": { "start": { "line": 85, "column": 2 }, "end": { "line": 85, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bvh", "start": 1865, "end": 1868, "loc": { "start": { "line": 85, "column": 8 }, "end": { "line": 85, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1869, "end": 1870, "loc": { "start": { "line": 85, "column": 12 }, "end": { "line": 85, "column": 13 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1871, "end": 1875, "loc": { "start": { "line": 85, "column": 14 }, "end": { "line": 85, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1875, "end": 1876, "loc": { "start": { "line": 85, "column": 18 }, "end": { "line": 85, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh", "start": 1876, "end": 1880, "loc": { "start": { "line": 85, "column": 19 }, "end": { "line": 85, "column": 23 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1880, "end": 1881, "loc": { "start": { "line": 85, "column": 23 }, "end": { "line": 85, "column": 24 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 1885, "end": 1887, "loc": { "start": { "line": 87, "column": 2 }, "end": { "line": 87, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1887, "end": 1888, "loc": { "start": { "line": 87, "column": 4 }, "end": { "line": 87, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bvh", "start": 1888, "end": 1891, "loc": { "start": { "line": 87, "column": 5 }, "end": { "line": 87, "column": 8 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 1892, "end": 1895, "loc": { "start": { "line": 87, "column": 9 }, "end": { "line": 87, "column": 12 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 1896, "end": 1900, "loc": { "start": { "line": 87, "column": 13 }, "end": { "line": 87, "column": 17 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1900, "end": 1901, "loc": { "start": { "line": 87, "column": 17 }, "end": { "line": 87, "column": 18 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1902, "end": 1903, "loc": { "start": { "line": 87, "column": 19 }, "end": { "line": 87, "column": 20 } } }, { "type": { "label": "throw", "keyword": "throw", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "throw", "start": 1907, "end": 1912, "loc": { "start": { "line": 88, "column": 3 }, "end": { "line": 88, "column": 8 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 1913, "end": 1916, "loc": { "start": { "line": 88, "column": 9 }, "end": { "line": 88, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Error", "start": 1917, "end": 1922, "loc": { "start": { "line": 88, "column": 13 }, "end": { "line": 88, "column": 18 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1922, "end": 1923, "loc": { "start": { "line": 88, "column": 18 }, "end": { "line": 88, "column": 19 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "Body does not belong to a collision system", "start": 1923, "end": 1967, "loc": { "start": { "line": 88, "column": 19 }, "end": { "line": 88, "column": 63 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1967, "end": 1968, "loc": { "start": { "line": 88, "column": 63 }, "end": { "line": 88, "column": 64 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1968, "end": 1969, "loc": { "start": { "line": 88, "column": 64 }, "end": { "line": 88, "column": 65 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1972, "end": 1973, "loc": { "start": { "line": 89, "column": 2 }, "end": { "line": 89, "column": 3 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 1977, "end": 1983, "loc": { "start": { "line": 91, "column": 2 }, "end": { "line": 91, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bvh", "start": 1984, "end": 1987, "loc": { "start": { "line": 91, "column": 9 }, "end": { "line": 91, "column": 12 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1987, "end": 1988, "loc": { "start": { "line": 91, "column": 12 }, "end": { "line": 91, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "potentials", "start": 1988, "end": 1998, "loc": { "start": { "line": 91, "column": 13 }, "end": { "line": 91, "column": 23 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1998, "end": 1999, "loc": { "start": { "line": 91, "column": 23 }, "end": { "line": 91, "column": 24 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1999, "end": 2003, "loc": { "start": { "line": 91, "column": 24 }, "end": { "line": 91, "column": 28 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2003, "end": 2004, "loc": { "start": { "line": 91, "column": 28 }, "end": { "line": 91, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2004, "end": 2005, "loc": { "start": { "line": 91, "column": 29 }, "end": { "line": 91, "column": 30 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2007, "end": 2008, "loc": { "start": { "line": 92, "column": 1 }, "end": { "line": 92, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Removes the body from its current collision system\n\t ", "start": 2011, "end": 2074, "loc": { "start": { "line": 94, "column": 1 }, "end": { "line": 96, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "remove", "start": 2076, "end": 2082, "loc": { "start": { "line": 97, "column": 1 }, "end": { "line": 97, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2082, "end": 2083, "loc": { "start": { "line": 97, "column": 7 }, "end": { "line": 97, "column": 8 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2083, "end": 2084, "loc": { "start": { "line": 97, "column": 8 }, "end": { "line": 97, "column": 9 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2085, "end": 2086, "loc": { "start": { "line": 97, "column": 10 }, "end": { "line": 97, "column": 11 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2089, "end": 2094, "loc": { "start": { "line": 98, "column": 2 }, "end": { "line": 98, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bvh", "start": 2095, "end": 2098, "loc": { "start": { "line": 98, "column": 8 }, "end": { "line": 98, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2099, "end": 2100, "loc": { "start": { "line": 98, "column": 12 }, "end": { "line": 98, "column": 13 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2101, "end": 2105, "loc": { "start": { "line": 98, "column": 14 }, "end": { "line": 98, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2105, "end": 2106, "loc": { "start": { "line": 98, "column": 18 }, "end": { "line": 98, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_bvh", "start": 2106, "end": 2110, "loc": { "start": { "line": 98, "column": 19 }, "end": { "line": 98, "column": 23 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2110, "end": 2111, "loc": { "start": { "line": 98, "column": 23 }, "end": { "line": 98, "column": 24 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 2115, "end": 2117, "loc": { "start": { "line": 100, "column": 2 }, "end": { "line": 100, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2117, "end": 2118, "loc": { "start": { "line": 100, "column": 4 }, "end": { "line": 100, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bvh", "start": 2118, "end": 2121, "loc": { "start": { "line": 100, "column": 5 }, "end": { "line": 100, "column": 8 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2121, "end": 2122, "loc": { "start": { "line": 100, "column": 8 }, "end": { "line": 100, "column": 9 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2123, "end": 2124, "loc": { "start": { "line": 100, "column": 10 }, "end": { "line": 100, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bvh", "start": 2128, "end": 2131, "loc": { "start": { "line": 101, "column": 3 }, "end": { "line": 101, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2131, "end": 2132, "loc": { "start": { "line": 101, "column": 6 }, "end": { "line": 101, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "remove", "start": 2132, "end": 2138, "loc": { "start": { "line": 101, "column": 7 }, "end": { "line": 101, "column": 13 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2138, "end": 2139, "loc": { "start": { "line": 101, "column": 13 }, "end": { "line": 101, "column": 14 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2139, "end": 2143, "loc": { "start": { "line": 101, "column": 14 }, "end": { "line": 101, "column": 18 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2143, "end": 2144, "loc": { "start": { "line": 101, "column": 18 }, "end": { "line": 101, "column": 19 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 2145, "end": 2150, "loc": { "start": { "line": 101, "column": 20 }, "end": { "line": 101, "column": 25 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2150, "end": 2151, "loc": { "start": { "line": 101, "column": 25 }, "end": { "line": 101, "column": 26 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2151, "end": 2152, "loc": { "start": { "line": 101, "column": 26 }, "end": { "line": 101, "column": 27 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2155, "end": 2156, "loc": { "start": { "line": 102, "column": 2 }, "end": { "line": 102, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2158, "end": 2159, "loc": { "start": { "line": 103, "column": 1 }, "end": { "line": 103, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t ", "start": 2162, "end": 2256, "loc": { "start": { "line": 105, "column": 1 }, "end": { "line": 107, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "createResult", "start": 2258, "end": 2270, "loc": { "start": { "line": 108, "column": 1 }, "end": { "line": 108, "column": 13 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2270, "end": 2271, "loc": { "start": { "line": 108, "column": 13 }, "end": { "line": 108, "column": 14 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2271, "end": 2272, "loc": { "start": { "line": 108, "column": 14 }, "end": { "line": 108, "column": 15 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2273, "end": 2274, "loc": { "start": { "line": 108, "column": 16 }, "end": { "line": 108, "column": 17 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 2277, "end": 2283, "loc": { "start": { "line": 109, "column": 2 }, "end": { "line": 109, "column": 8 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 2284, "end": 2287, "loc": { "start": { "line": 109, "column": 9 }, "end": { "line": 109, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Result", "start": 2288, "end": 2294, "loc": { "start": { "line": 109, "column": 13 }, "end": { "line": 109, "column": 19 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2294, "end": 2295, "loc": { "start": { "line": 109, "column": 19 }, "end": { "line": 109, "column": 20 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2295, "end": 2296, "loc": { "start": { "line": 109, "column": 20 }, "end": { "line": 109, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2296, "end": 2297, "loc": { "start": { "line": 109, "column": 21 }, "end": { "line": 109, "column": 22 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2299, "end": 2300, "loc": { "start": { "line": 110, "column": 1 }, "end": { "line": 110, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Creates a Result used to collect the detailed results of a collision test\n\t ", "start": 2303, "end": 2389, "loc": { "start": { "line": 112, "column": 1 }, "end": { "line": 114, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "static", "start": 2391, "end": 2397, "loc": { "start": { "line": 115, "column": 1 }, "end": { "line": 115, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "createResult", "start": 2398, "end": 2410, "loc": { "start": { "line": 115, "column": 8 }, "end": { "line": 115, "column": 20 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2410, "end": 2411, "loc": { "start": { "line": 115, "column": 20 }, "end": { "line": 115, "column": 21 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2411, "end": 2412, "loc": { "start": { "line": 115, "column": 21 }, "end": { "line": 115, "column": 22 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2413, "end": 2414, "loc": { "start": { "line": 115, "column": 23 }, "end": { "line": 115, "column": 24 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 2417, "end": 2423, "loc": { "start": { "line": 116, "column": 2 }, "end": { "line": 116, "column": 8 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 2424, "end": 2427, "loc": { "start": { "line": 116, "column": 9 }, "end": { "line": 116, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Result", "start": 2428, "end": 2434, "loc": { "start": { "line": 116, "column": 13 }, "end": { "line": 116, "column": 19 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2434, "end": 2435, "loc": { "start": { "line": 116, "column": 19 }, "end": { "line": 116, "column": 20 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2435, "end": 2436, "loc": { "start": { "line": 116, "column": 20 }, "end": { "line": 116, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2436, "end": 2437, "loc": { "start": { "line": 116, "column": 21 }, "end": { "line": 116, "column": 22 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2439, "end": 2440, "loc": { "start": { "line": 117, "column": 1 }, "end": { "line": 117, "column": 2 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2441, "end": 2442, "loc": { "start": { "line": 118, "column": 0 }, "end": { "line": 118, "column": 1 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2442, "end": 2443, "loc": { "start": { "line": 118, "column": 1 }, "end": { "line": 118, "column": 2 } } }, { "type": { "label": "eof", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2444, "end": 2444, "loc": { "start": { "line": 119, "column": 0 }, "end": { "line": 119, "column": 0 } } } ] } ================================================ FILE: docs/ast/source/modules/Circle.mjs.json ================================================ { "type": "File", "start": 0, "end": 1036, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 45, "column": 0 } }, "program": { "type": "Program", "start": 0, "end": 1036, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 45, "column": 0 } }, "sourceType": "module", "body": [ { "type": "ImportDeclaration", "start": 0, "end": 30, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 30 } }, "specifiers": [ { "type": "ImportDefaultSpecifier", "start": 7, "end": 11, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 11 } }, "local": { "type": "Identifier", "start": 7, "end": 11, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 11 }, "identifierName": "Body" }, "name": "Body" } } ], "source": { "type": "StringLiteral", "start": 17, "end": 29, "loc": { "start": { "line": 1, "column": 17 }, "end": { "line": 1, "column": 29 } }, "extra": { "rawValue": "./Body.mjs", "raw": "'./Body.mjs'" }, "value": "./Body.mjs" }, "trailingComments": [ { "type": "CommentBlock", "value": "*\n * A circle used to detect collisions\n * @class\n ", "start": 32, "end": 87, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 6, "column": 3 } } } ] }, { "type": "ExportDefaultDeclaration", "start": 88, "end": 1034, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 44, "column": 1 } }, "declaration": { "type": "ClassDeclaration", "start": 103, "end": 1034, "loc": { "start": { "line": 7, "column": 15 }, "end": { "line": 44, "column": 1 } }, "id": { "type": "Identifier", "start": 109, "end": 115, "loc": { "start": { "line": 7, "column": 21 }, "end": { "line": 7, "column": 27 }, "identifierName": "Circle" }, "name": "Circle", "leadingComments": null }, "superClass": { "type": "Identifier", "start": 124, "end": 128, "loc": { "start": { "line": 7, "column": 36 }, "end": { "line": 7, "column": 40 }, "identifierName": "Body" }, "name": "Body" }, "body": { "type": "ClassBody", "start": 129, "end": 1034, "loc": { "start": { "line": 7, "column": 41 }, "end": { "line": 44, "column": 1 } }, "body": [ { "type": "ClassMethod", "start": 463, "end": 687, "loc": { "start": { "line": 16, "column": 1 }, "end": { "line": 30, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 463, "end": 474, "loc": { "start": { "line": 16, "column": 1 }, "end": { "line": 16, "column": 12 }, "identifierName": "constructor" }, "name": "constructor", "leadingComments": null }, "kind": "constructor", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "AssignmentPattern", "start": 475, "end": 480, "loc": { "start": { "line": 16, "column": 13 }, "end": { "line": 16, "column": 18 } }, "left": { "type": "Identifier", "start": 475, "end": 476, "loc": { "start": { "line": 16, "column": 13 }, "end": { "line": 16, "column": 14 }, "identifierName": "x" }, "name": "x" }, "right": { "type": "NumericLiteral", "start": 479, "end": 480, "loc": { "start": { "line": 16, "column": 17 }, "end": { "line": 16, "column": 18 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 482, "end": 487, "loc": { "start": { "line": 16, "column": 20 }, "end": { "line": 16, "column": 25 } }, "left": { "type": "Identifier", "start": 482, "end": 483, "loc": { "start": { "line": 16, "column": 20 }, "end": { "line": 16, "column": 21 }, "identifierName": "y" }, "name": "y" }, "right": { "type": "NumericLiteral", "start": 486, "end": 487, "loc": { "start": { "line": 16, "column": 24 }, "end": { "line": 16, "column": 25 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 489, "end": 499, "loc": { "start": { "line": 16, "column": 27 }, "end": { "line": 16, "column": 37 } }, "left": { "type": "Identifier", "start": 489, "end": 495, "loc": { "start": { "line": 16, "column": 27 }, "end": { "line": 16, "column": 33 }, "identifierName": "radius" }, "name": "radius" }, "right": { "type": "NumericLiteral", "start": 498, "end": 499, "loc": { "start": { "line": 16, "column": 36 }, "end": { "line": 16, "column": 37 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 501, "end": 510, "loc": { "start": { "line": 16, "column": 39 }, "end": { "line": 16, "column": 48 } }, "left": { "type": "Identifier", "start": 501, "end": 506, "loc": { "start": { "line": 16, "column": 39 }, "end": { "line": 16, "column": 44 }, "identifierName": "scale" }, "name": "scale" }, "right": { "type": "NumericLiteral", "start": 509, "end": 510, "loc": { "start": { "line": 16, "column": 47 }, "end": { "line": 16, "column": 48 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } }, { "type": "AssignmentPattern", "start": 512, "end": 523, "loc": { "start": { "line": 16, "column": 50 }, "end": { "line": 16, "column": 61 } }, "left": { "type": "Identifier", "start": 512, "end": 519, "loc": { "start": { "line": 16, "column": 50 }, "end": { "line": 16, "column": 57 }, "identifierName": "padding" }, "name": "padding" }, "right": { "type": "NumericLiteral", "start": 522, "end": 523, "loc": { "start": { "line": 16, "column": 60 }, "end": { "line": 16, "column": 61 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "body": { "type": "BlockStatement", "start": 525, "end": 687, "loc": { "start": { "line": 16, "column": 63 }, "end": { "line": 30, "column": 2 } }, "body": [ { "type": "ExpressionStatement", "start": 529, "end": 550, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 23 } }, "expression": { "type": "CallExpression", "start": 529, "end": 549, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 22 } }, "callee": { "type": "Super", "start": 529, "end": 534, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 7 } } }, "arguments": [ { "type": "Identifier", "start": 535, "end": 536, "loc": { "start": { "line": 17, "column": 8 }, "end": { "line": 17, "column": 9 }, "identifierName": "x" }, "name": "x" }, { "type": "Identifier", "start": 538, "end": 539, "loc": { "start": { "line": 17, "column": 11 }, "end": { "line": 17, "column": 12 }, "identifierName": "y" }, "name": "y" }, { "type": "Identifier", "start": 541, "end": 548, "loc": { "start": { "line": 17, "column": 14 }, "end": { "line": 17, "column": 21 }, "identifierName": "padding" }, "name": "padding" } ] }, "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc\n\t\t * @type {Number}\n\t\t ", "start": 554, "end": 594, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 22, "column": 5 } } } ] }, { "type": "ExpressionStatement", "start": 597, "end": 618, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 23, "column": 23 } }, "expression": { "type": "AssignmentExpression", "start": 597, "end": 617, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 23, "column": 22 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 597, "end": 608, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 23, "column": 13 } }, "object": { "type": "ThisExpression", "start": 597, "end": 601, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 23, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 602, "end": 608, "loc": { "start": { "line": 23, "column": 7 }, "end": { "line": 23, "column": 13 }, "identifierName": "radius" }, "name": "radius" }, "computed": false, "leadingComments": null }, "right": { "type": "Identifier", "start": 611, "end": 617, "loc": { "start": { "line": 23, "column": 16 }, "end": { "line": 23, "column": 22 }, "identifierName": "radius" }, "name": "radius" }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc\n\t\t * @type {Number}\n\t\t ", "start": 554, "end": 594, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 22, "column": 5 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc\n\t\t * @type {Number}\n\t\t ", "start": 622, "end": 662, "loc": { "start": { "line": 25, "column": 2 }, "end": { "line": 28, "column": 5 } } } ] }, { "type": "ExpressionStatement", "start": 665, "end": 684, "loc": { "start": { "line": 29, "column": 2 }, "end": { "line": 29, "column": 21 } }, "expression": { "type": "AssignmentExpression", "start": 665, "end": 683, "loc": { "start": { "line": 29, "column": 2 }, "end": { "line": 29, "column": 20 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 665, "end": 675, "loc": { "start": { "line": 29, "column": 2 }, "end": { "line": 29, "column": 12 } }, "object": { "type": "ThisExpression", "start": 665, "end": 669, "loc": { "start": { "line": 29, "column": 2 }, "end": { "line": 29, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 670, "end": 675, "loc": { "start": { "line": 29, "column": 7 }, "end": { "line": 29, "column": 12 }, "identifierName": "scale" }, "name": "scale" }, "computed": false, "leadingComments": null }, "right": { "type": "Identifier", "start": 678, "end": 683, "loc": { "start": { "line": 29, "column": 15 }, "end": { "line": 29, "column": 20 }, "identifierName": "scale" }, "name": "scale" }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc\n\t\t * @type {Number}\n\t\t ", "start": 622, "end": 662, "loc": { "start": { "line": 25, "column": 2 }, "end": { "line": 28, "column": 5 } } } ] } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [radius = 0] The radius\n\t * @param {Number} [scale = 1] The scale\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t ", "start": 132, "end": 461, "loc": { "start": { "line": 8, "column": 1 }, "end": { "line": 15, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Draws the circle to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to add the arc to\n\t ", "start": 690, "end": 840, "loc": { "start": { "line": 32, "column": 1 }, "end": { "line": 35, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 842, "end": 1032, "loc": { "start": { "line": 36, "column": 1 }, "end": { "line": 43, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 842, "end": 846, "loc": { "start": { "line": 36, "column": 1 }, "end": { "line": 36, "column": 5 }, "identifierName": "draw" }, "name": "draw", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 847, "end": 854, "loc": { "start": { "line": 36, "column": 6 }, "end": { "line": 36, "column": 13 }, "identifierName": "context" }, "name": "context" } ], "body": { "type": "BlockStatement", "start": 856, "end": 1032, "loc": { "start": { "line": 36, "column": 15 }, "end": { "line": 43, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 860, "end": 882, "loc": { "start": { "line": 37, "column": 2 }, "end": { "line": 37, "column": 24 } }, "declarations": [ { "type": "VariableDeclarator", "start": 866, "end": 881, "loc": { "start": { "line": 37, "column": 8 }, "end": { "line": 37, "column": 23 } }, "id": { "type": "Identifier", "start": 866, "end": 867, "loc": { "start": { "line": 37, "column": 8 }, "end": { "line": 37, "column": 9 }, "identifierName": "x" }, "name": "x" }, "init": { "type": "MemberExpression", "start": 875, "end": 881, "loc": { "start": { "line": 37, "column": 17 }, "end": { "line": 37, "column": 23 } }, "object": { "type": "ThisExpression", "start": 875, "end": 879, "loc": { "start": { "line": 37, "column": 17 }, "end": { "line": 37, "column": 21 } } }, "property": { "type": "Identifier", "start": 880, "end": 881, "loc": { "start": { "line": 37, "column": 22 }, "end": { "line": 37, "column": 23 }, "identifierName": "x" }, "name": "x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 885, "end": 907, "loc": { "start": { "line": 38, "column": 2 }, "end": { "line": 38, "column": 24 } }, "declarations": [ { "type": "VariableDeclarator", "start": 891, "end": 906, "loc": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": 23 } }, "id": { "type": "Identifier", "start": 891, "end": 892, "loc": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": 9 }, "identifierName": "y" }, "name": "y" }, "init": { "type": "MemberExpression", "start": 900, "end": 906, "loc": { "start": { "line": 38, "column": 17 }, "end": { "line": 38, "column": 23 } }, "object": { "type": "ThisExpression", "start": 900, "end": 904, "loc": { "start": { "line": 38, "column": 17 }, "end": { "line": 38, "column": 21 } } }, "property": { "type": "Identifier", "start": 905, "end": 906, "loc": { "start": { "line": 38, "column": 22 }, "end": { "line": 38, "column": 23 }, "identifierName": "y" }, "name": "y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 910, "end": 950, "loc": { "start": { "line": 39, "column": 2 }, "end": { "line": 39, "column": 42 } }, "declarations": [ { "type": "VariableDeclarator", "start": 916, "end": 949, "loc": { "start": { "line": 39, "column": 8 }, "end": { "line": 39, "column": 41 } }, "id": { "type": "Identifier", "start": 916, "end": 922, "loc": { "start": { "line": 39, "column": 8 }, "end": { "line": 39, "column": 14 }, "identifierName": "radius" }, "name": "radius" }, "init": { "type": "BinaryExpression", "start": 925, "end": 949, "loc": { "start": { "line": 39, "column": 17 }, "end": { "line": 39, "column": 41 } }, "left": { "type": "MemberExpression", "start": 925, "end": 936, "loc": { "start": { "line": 39, "column": 17 }, "end": { "line": 39, "column": 28 } }, "object": { "type": "ThisExpression", "start": 925, "end": 929, "loc": { "start": { "line": 39, "column": 17 }, "end": { "line": 39, "column": 21 } } }, "property": { "type": "Identifier", "start": 930, "end": 936, "loc": { "start": { "line": 39, "column": 22 }, "end": { "line": 39, "column": 28 }, "identifierName": "radius" }, "name": "radius" }, "computed": false }, "operator": "*", "right": { "type": "MemberExpression", "start": 939, "end": 949, "loc": { "start": { "line": 39, "column": 31 }, "end": { "line": 39, "column": 41 } }, "object": { "type": "ThisExpression", "start": 939, "end": 943, "loc": { "start": { "line": 39, "column": 31 }, "end": { "line": 39, "column": 35 } } }, "property": { "type": "Identifier", "start": 944, "end": 949, "loc": { "start": { "line": 39, "column": 36 }, "end": { "line": 39, "column": 41 }, "identifierName": "scale" }, "name": "scale" }, "computed": false } } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 954, "end": 984, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 32 } }, "expression": { "type": "CallExpression", "start": 954, "end": 983, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 31 } }, "callee": { "type": "MemberExpression", "start": 954, "end": 968, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 16 } }, "object": { "type": "Identifier", "start": 954, "end": 961, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 9 }, "identifierName": "context" }, "name": "context" }, "property": { "type": "Identifier", "start": 962, "end": 968, "loc": { "start": { "line": 41, "column": 10 }, "end": { "line": 41, "column": 16 }, "identifierName": "moveTo" }, "name": "moveTo" }, "computed": false }, "arguments": [ { "type": "BinaryExpression", "start": 969, "end": 979, "loc": { "start": { "line": 41, "column": 17 }, "end": { "line": 41, "column": 27 } }, "left": { "type": "Identifier", "start": 969, "end": 970, "loc": { "start": { "line": 41, "column": 17 }, "end": { "line": 41, "column": 18 }, "identifierName": "x" }, "name": "x" }, "operator": "+", "right": { "type": "Identifier", "start": 973, "end": 979, "loc": { "start": { "line": 41, "column": 21 }, "end": { "line": 41, "column": 27 }, "identifierName": "radius" }, "name": "radius" } }, { "type": "Identifier", "start": 981, "end": 982, "loc": { "start": { "line": 41, "column": 29 }, "end": { "line": 41, "column": 30 }, "identifierName": "y" }, "name": "y" } ] } }, { "type": "ExpressionStatement", "start": 987, "end": 1029, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 42, "column": 44 } }, "expression": { "type": "CallExpression", "start": 987, "end": 1028, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 42, "column": 43 } }, "callee": { "type": "MemberExpression", "start": 987, "end": 998, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 42, "column": 13 } }, "object": { "type": "Identifier", "start": 987, "end": 994, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 42, "column": 9 }, "identifierName": "context" }, "name": "context" }, "property": { "type": "Identifier", "start": 995, "end": 998, "loc": { "start": { "line": 42, "column": 10 }, "end": { "line": 42, "column": 13 }, "identifierName": "arc" }, "name": "arc" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 999, "end": 1000, "loc": { "start": { "line": 42, "column": 14 }, "end": { "line": 42, "column": 15 }, "identifierName": "x" }, "name": "x" }, { "type": "Identifier", "start": 1002, "end": 1003, "loc": { "start": { "line": 42, "column": 17 }, "end": { "line": 42, "column": 18 }, "identifierName": "y" }, "name": "y" }, { "type": "Identifier", "start": 1005, "end": 1011, "loc": { "start": { "line": 42, "column": 20 }, "end": { "line": 42, "column": 26 }, "identifierName": "radius" }, "name": "radius" }, { "type": "NumericLiteral", "start": 1013, "end": 1014, "loc": { "start": { "line": 42, "column": 28 }, "end": { "line": 42, "column": 29 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, { "type": "BinaryExpression", "start": 1016, "end": 1027, "loc": { "start": { "line": 42, "column": 31 }, "end": { "line": 42, "column": 42 } }, "left": { "type": "MemberExpression", "start": 1016, "end": 1023, "loc": { "start": { "line": 42, "column": 31 }, "end": { "line": 42, "column": 38 } }, "object": { "type": "Identifier", "start": 1016, "end": 1020, "loc": { "start": { "line": 42, "column": 31 }, "end": { "line": 42, "column": 35 }, "identifierName": "Math" }, "name": "Math" }, "property": { "type": "Identifier", "start": 1021, "end": 1023, "loc": { "start": { "line": 42, "column": 36 }, "end": { "line": 42, "column": 38 }, "identifierName": "PI" }, "name": "PI" }, "computed": false }, "operator": "*", "right": { "type": "NumericLiteral", "start": 1026, "end": 1027, "loc": { "start": { "line": 42, "column": 41 }, "end": { "line": 42, "column": 42 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } } ] } } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Draws the circle to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to add the arc to\n\t ", "start": 690, "end": 840, "loc": { "start": { "line": 32, "column": 1 }, "end": { "line": 35, "column": 4 } } } ] } ] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A circle used to detect collisions\n * @class\n ", "start": 32, "end": 87, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 6, "column": 3 } } } ], "trailingComments": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A circle used to detect collisions\n * @class\n ", "start": 32, "end": 87, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 6, "column": 3 } } } ] }, { "type": "EmptyStatement", "start": 1034, "end": 1035, "loc": { "start": { "line": 44, "column": 1 }, "end": { "line": 44, "column": 2 } } } ], "directives": [] }, "comments": [ { "type": "CommentBlock", "value": "*\n * A circle used to detect collisions\n * @class\n ", "start": 32, "end": 87, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 6, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [radius = 0] The radius\n\t * @param {Number} [scale = 1] The scale\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t ", "start": 132, "end": 461, "loc": { "start": { "line": 8, "column": 1 }, "end": { "line": 15, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc\n\t\t * @type {Number}\n\t\t ", "start": 554, "end": 594, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 22, "column": 5 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc\n\t\t * @type {Number}\n\t\t ", "start": 622, "end": 662, "loc": { "start": { "line": 25, "column": 2 }, "end": { "line": 28, "column": 5 } } }, { "type": "CommentBlock", "value": "*\n\t * Draws the circle to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to add the arc to\n\t ", "start": 690, "end": 840, "loc": { "start": { "line": 32, "column": 1 }, "end": { "line": 35, "column": 4 } } } ], "tokens": [ { "type": { "label": "import", "keyword": "import", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "import", "start": 0, "end": 6, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Body", "start": 7, "end": 11, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 12, "end": 16, "loc": { "start": { "line": 1, "column": 12 }, "end": { "line": 1, "column": 16 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./Body.mjs", "start": 17, "end": 29, "loc": { "start": { "line": 1, "column": 17 }, "end": { "line": 1, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 29, "end": 30, "loc": { "start": { "line": 1, "column": 29 }, "end": { "line": 1, "column": 30 } } }, { "type": "CommentBlock", "value": "*\n * A circle used to detect collisions\n * @class\n ", "start": 32, "end": 87, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 6, "column": 3 } } }, { "type": { "label": "export", "keyword": "export", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "export", "start": 88, "end": 94, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 7, "column": 6 } } }, { "type": { "label": "default", "keyword": "default", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "default", "start": 95, "end": 102, "loc": { "start": { "line": 7, "column": 7 }, "end": { "line": 7, "column": 14 } } }, { "type": { "label": "class", "keyword": "class", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "class", "start": 103, "end": 108, "loc": { "start": { "line": 7, "column": 15 }, "end": { "line": 7, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Circle", "start": 109, "end": 115, "loc": { "start": { "line": 7, "column": 21 }, "end": { "line": 7, "column": 27 } } }, { "type": { "label": "extends", "keyword": "extends", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "extends", "start": 116, "end": 123, "loc": { "start": { "line": 7, "column": 28 }, "end": { "line": 7, "column": 35 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Body", "start": 124, "end": 128, "loc": { "start": { "line": 7, "column": 36 }, "end": { "line": 7, "column": 40 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 129, "end": 130, "loc": { "start": { "line": 7, "column": 41 }, "end": { "line": 7, "column": 42 } } }, { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [radius = 0] The radius\n\t * @param {Number} [scale = 1] The scale\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t ", "start": 132, "end": 461, "loc": { "start": { "line": 8, "column": 1 }, "end": { "line": 15, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "constructor", "start": 463, "end": 474, "loc": { "start": { "line": 16, "column": 1 }, "end": { "line": 16, "column": 12 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 474, "end": 475, "loc": { "start": { "line": 16, "column": 12 }, "end": { "line": 16, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 475, "end": 476, "loc": { "start": { "line": 16, "column": 13 }, "end": { "line": 16, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 477, "end": 478, "loc": { "start": { "line": 16, "column": 15 }, "end": { "line": 16, "column": 16 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 479, "end": 480, "loc": { "start": { "line": 16, "column": 17 }, "end": { "line": 16, "column": 18 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 480, "end": 481, "loc": { "start": { "line": 16, "column": 18 }, "end": { "line": 16, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 482, "end": 483, "loc": { "start": { "line": 16, "column": 20 }, "end": { "line": 16, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 484, "end": 485, "loc": { "start": { "line": 16, "column": 22 }, "end": { "line": 16, "column": 23 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 486, "end": 487, "loc": { "start": { "line": 16, "column": 24 }, "end": { "line": 16, "column": 25 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 487, "end": 488, "loc": { "start": { "line": 16, "column": 25 }, "end": { "line": 16, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 489, "end": 495, "loc": { "start": { "line": 16, "column": 27 }, "end": { "line": 16, "column": 33 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 496, "end": 497, "loc": { "start": { "line": 16, "column": 34 }, "end": { "line": 16, "column": 35 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 498, "end": 499, "loc": { "start": { "line": 16, "column": 36 }, "end": { "line": 16, "column": 37 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 499, "end": 500, "loc": { "start": { "line": 16, "column": 37 }, "end": { "line": 16, "column": 38 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale", "start": 501, "end": 506, "loc": { "start": { "line": 16, "column": 39 }, "end": { "line": 16, "column": 44 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 507, "end": 508, "loc": { "start": { "line": 16, "column": 45 }, "end": { "line": 16, "column": 46 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 509, "end": 510, "loc": { "start": { "line": 16, "column": 47 }, "end": { "line": 16, "column": 48 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 510, "end": 511, "loc": { "start": { "line": 16, "column": 48 }, "end": { "line": 16, "column": 49 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 512, "end": 519, "loc": { "start": { "line": 16, "column": 50 }, "end": { "line": 16, "column": 57 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 520, "end": 521, "loc": { "start": { "line": 16, "column": 58 }, "end": { "line": 16, "column": 59 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 522, "end": 523, "loc": { "start": { "line": 16, "column": 60 }, "end": { "line": 16, "column": 61 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 523, "end": 524, "loc": { "start": { "line": 16, "column": 61 }, "end": { "line": 16, "column": 62 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 525, "end": 526, "loc": { "start": { "line": 16, "column": 63 }, "end": { "line": 16, "column": 64 } } }, { "type": { "label": "super", "keyword": "super", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "super", "start": 529, "end": 534, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 534, "end": 535, "loc": { "start": { "line": 17, "column": 7 }, "end": { "line": 17, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 535, "end": 536, "loc": { "start": { "line": 17, "column": 8 }, "end": { "line": 17, "column": 9 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 536, "end": 537, "loc": { "start": { "line": 17, "column": 9 }, "end": { "line": 17, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 538, "end": 539, "loc": { "start": { "line": 17, "column": 11 }, "end": { "line": 17, "column": 12 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 539, "end": 540, "loc": { "start": { "line": 17, "column": 12 }, "end": { "line": 17, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 541, "end": 548, "loc": { "start": { "line": 17, "column": 14 }, "end": { "line": 17, "column": 21 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 548, "end": 549, "loc": { "start": { "line": 17, "column": 21 }, "end": { "line": 17, "column": 22 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 549, "end": 550, "loc": { "start": { "line": 17, "column": 22 }, "end": { "line": 17, "column": 23 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc\n\t\t * @type {Number}\n\t\t ", "start": 554, "end": 594, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 22, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 597, "end": 601, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 23, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 601, "end": 602, "loc": { "start": { "line": 23, "column": 6 }, "end": { "line": 23, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 602, "end": 608, "loc": { "start": { "line": 23, "column": 7 }, "end": { "line": 23, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 609, "end": 610, "loc": { "start": { "line": 23, "column": 14 }, "end": { "line": 23, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 611, "end": 617, "loc": { "start": { "line": 23, "column": 16 }, "end": { "line": 23, "column": 22 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 617, "end": 618, "loc": { "start": { "line": 23, "column": 22 }, "end": { "line": 23, "column": 23 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc\n\t\t * @type {Number}\n\t\t ", "start": 622, "end": 662, "loc": { "start": { "line": 25, "column": 2 }, "end": { "line": 28, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 665, "end": 669, "loc": { "start": { "line": 29, "column": 2 }, "end": { "line": 29, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 669, "end": 670, "loc": { "start": { "line": 29, "column": 6 }, "end": { "line": 29, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale", "start": 670, "end": 675, "loc": { "start": { "line": 29, "column": 7 }, "end": { "line": 29, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 676, "end": 677, "loc": { "start": { "line": 29, "column": 13 }, "end": { "line": 29, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale", "start": 678, "end": 683, "loc": { "start": { "line": 29, "column": 15 }, "end": { "line": 29, "column": 20 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 683, "end": 684, "loc": { "start": { "line": 29, "column": 20 }, "end": { "line": 29, "column": 21 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 686, "end": 687, "loc": { "start": { "line": 30, "column": 1 }, "end": { "line": 30, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Draws the circle to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to add the arc to\n\t ", "start": 690, "end": 840, "loc": { "start": { "line": 32, "column": 1 }, "end": { "line": 35, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "draw", "start": 842, "end": 846, "loc": { "start": { "line": 36, "column": 1 }, "end": { "line": 36, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 846, "end": 847, "loc": { "start": { "line": 36, "column": 5 }, "end": { "line": 36, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 847, "end": 854, "loc": { "start": { "line": 36, "column": 6 }, "end": { "line": 36, "column": 13 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 854, "end": 855, "loc": { "start": { "line": 36, "column": 13 }, "end": { "line": 36, "column": 14 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 856, "end": 857, "loc": { "start": { "line": 36, "column": 15 }, "end": { "line": 36, "column": 16 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 860, "end": 865, "loc": { "start": { "line": 37, "column": 2 }, "end": { "line": 37, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 866, "end": 867, "loc": { "start": { "line": 37, "column": 8 }, "end": { "line": 37, "column": 9 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 873, "end": 874, "loc": { "start": { "line": 37, "column": 15 }, "end": { "line": 37, "column": 16 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 875, "end": 879, "loc": { "start": { "line": 37, "column": 17 }, "end": { "line": 37, "column": 21 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 879, "end": 880, "loc": { "start": { "line": 37, "column": 21 }, "end": { "line": 37, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 880, "end": 881, "loc": { "start": { "line": 37, "column": 22 }, "end": { "line": 37, "column": 23 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 881, "end": 882, "loc": { "start": { "line": 37, "column": 23 }, "end": { "line": 37, "column": 24 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 885, "end": 890, "loc": { "start": { "line": 38, "column": 2 }, "end": { "line": 38, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 891, "end": 892, "loc": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": 9 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 898, "end": 899, "loc": { "start": { "line": 38, "column": 15 }, "end": { "line": 38, "column": 16 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 900, "end": 904, "loc": { "start": { "line": 38, "column": 17 }, "end": { "line": 38, "column": 21 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 904, "end": 905, "loc": { "start": { "line": 38, "column": 21 }, "end": { "line": 38, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 905, "end": 906, "loc": { "start": { "line": 38, "column": 22 }, "end": { "line": 38, "column": 23 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 906, "end": 907, "loc": { "start": { "line": 38, "column": 23 }, "end": { "line": 38, "column": 24 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 910, "end": 915, "loc": { "start": { "line": 39, "column": 2 }, "end": { "line": 39, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 916, "end": 922, "loc": { "start": { "line": 39, "column": 8 }, "end": { "line": 39, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 923, "end": 924, "loc": { "start": { "line": 39, "column": 15 }, "end": { "line": 39, "column": 16 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 925, "end": 929, "loc": { "start": { "line": 39, "column": 17 }, "end": { "line": 39, "column": 21 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 929, "end": 930, "loc": { "start": { "line": 39, "column": 21 }, "end": { "line": 39, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 930, "end": 936, "loc": { "start": { "line": 39, "column": 22 }, "end": { "line": 39, "column": 28 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 937, "end": 938, "loc": { "start": { "line": 39, "column": 29 }, "end": { "line": 39, "column": 30 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 939, "end": 943, "loc": { "start": { "line": 39, "column": 31 }, "end": { "line": 39, "column": 35 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 943, "end": 944, "loc": { "start": { "line": 39, "column": 35 }, "end": { "line": 39, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale", "start": 944, "end": 949, "loc": { "start": { "line": 39, "column": 36 }, "end": { "line": 39, "column": 41 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 949, "end": 950, "loc": { "start": { "line": 39, "column": 41 }, "end": { "line": 39, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 954, "end": 961, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 961, "end": 962, "loc": { "start": { "line": 41, "column": 9 }, "end": { "line": 41, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "moveTo", "start": 962, "end": 968, "loc": { "start": { "line": 41, "column": 10 }, "end": { "line": 41, "column": 16 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 968, "end": 969, "loc": { "start": { "line": 41, "column": 16 }, "end": { "line": 41, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 969, "end": 970, "loc": { "start": { "line": 41, "column": 17 }, "end": { "line": 41, "column": 18 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 971, "end": 972, "loc": { "start": { "line": 41, "column": 19 }, "end": { "line": 41, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 973, "end": 979, "loc": { "start": { "line": 41, "column": 21 }, "end": { "line": 41, "column": 27 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 979, "end": 980, "loc": { "start": { "line": 41, "column": 27 }, "end": { "line": 41, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 981, "end": 982, "loc": { "start": { "line": 41, "column": 29 }, "end": { "line": 41, "column": 30 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 982, "end": 983, "loc": { "start": { "line": 41, "column": 30 }, "end": { "line": 41, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 983, "end": 984, "loc": { "start": { "line": 41, "column": 31 }, "end": { "line": 41, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 987, "end": 994, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 42, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 994, "end": 995, "loc": { "start": { "line": 42, "column": 9 }, "end": { "line": 42, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "arc", "start": 995, "end": 998, "loc": { "start": { "line": 42, "column": 10 }, "end": { "line": 42, "column": 13 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 998, "end": 999, "loc": { "start": { "line": 42, "column": 13 }, "end": { "line": 42, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 999, "end": 1000, "loc": { "start": { "line": 42, "column": 14 }, "end": { "line": 42, "column": 15 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1000, "end": 1001, "loc": { "start": { "line": 42, "column": 15 }, "end": { "line": 42, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 1002, "end": 1003, "loc": { "start": { "line": 42, "column": 17 }, "end": { "line": 42, "column": 18 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1003, "end": 1004, "loc": { "start": { "line": 42, "column": 18 }, "end": { "line": 42, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 1005, "end": 1011, "loc": { "start": { "line": 42, "column": 20 }, "end": { "line": 42, "column": 26 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1011, "end": 1012, "loc": { "start": { "line": 42, "column": 26 }, "end": { "line": 42, "column": 27 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1013, "end": 1014, "loc": { "start": { "line": 42, "column": 28 }, "end": { "line": 42, "column": 29 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1014, "end": 1015, "loc": { "start": { "line": 42, "column": 29 }, "end": { "line": 42, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Math", "start": 1016, "end": 1020, "loc": { "start": { "line": 42, "column": 31 }, "end": { "line": 42, "column": 35 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1020, "end": 1021, "loc": { "start": { "line": 42, "column": 35 }, "end": { "line": 42, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "PI", "start": 1021, "end": 1023, "loc": { "start": { "line": 42, "column": 36 }, "end": { "line": 42, "column": 38 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 1024, "end": 1025, "loc": { "start": { "line": 42, "column": 39 }, "end": { "line": 42, "column": 40 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 1026, "end": 1027, "loc": { "start": { "line": 42, "column": 41 }, "end": { "line": 42, "column": 42 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1027, "end": 1028, "loc": { "start": { "line": 42, "column": 42 }, "end": { "line": 42, "column": 43 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1028, "end": 1029, "loc": { "start": { "line": 42, "column": 43 }, "end": { "line": 42, "column": 44 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1031, "end": 1032, "loc": { "start": { "line": 43, "column": 1 }, "end": { "line": 43, "column": 2 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1033, "end": 1034, "loc": { "start": { "line": 44, "column": 0 }, "end": { "line": 44, "column": 1 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1034, "end": 1035, "loc": { "start": { "line": 44, "column": 1 }, "end": { "line": 44, "column": 2 } } }, { "type": { "label": "eof", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1036, "end": 1036, "loc": { "start": { "line": 45, "column": 0 }, "end": { "line": 45, "column": 0 } } } ] } ================================================ FILE: docs/ast/source/modules/Point.mjs.json ================================================ { "type": "File", "start": 0, "end": 555, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 23, "column": 0 } }, "program": { "type": "Program", "start": 0, "end": 555, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 23, "column": 0 } }, "sourceType": "module", "body": [ { "type": "ImportDeclaration", "start": 0, "end": 36, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 36 } }, "specifiers": [ { "type": "ImportDefaultSpecifier", "start": 7, "end": 14, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 14 } }, "local": { "type": "Identifier", "start": 7, "end": 14, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 14 }, "identifierName": "Polygon" }, "name": "Polygon" } } ], "source": { "type": "StringLiteral", "start": 20, "end": 35, "loc": { "start": { "line": 1, "column": 20 }, "end": { "line": 1, "column": 35 } }, "extra": { "rawValue": "./Polygon.mjs", "raw": "'./Polygon.mjs'" }, "value": "./Polygon.mjs" }, "trailingComments": [ { "type": "CommentBlock", "value": "*\n * A point used to detect collisions\n * @class\n ", "start": 38, "end": 92, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 6, "column": 3 } } } ] }, { "type": "ExportDefaultDeclaration", "start": 93, "end": 513, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 20, "column": 1 } }, "declaration": { "type": "ClassDeclaration", "start": 108, "end": 513, "loc": { "start": { "line": 7, "column": 15 }, "end": { "line": 20, "column": 1 } }, "id": { "type": "Identifier", "start": 114, "end": 119, "loc": { "start": { "line": 7, "column": 21 }, "end": { "line": 7, "column": 26 }, "identifierName": "Point" }, "name": "Point", "leadingComments": null }, "superClass": { "type": "Identifier", "start": 128, "end": 135, "loc": { "start": { "line": 7, "column": 35 }, "end": { "line": 7, "column": 42 }, "identifierName": "Polygon" }, "name": "Polygon" }, "body": { "type": "ClassBody", "start": 136, "end": 513, "loc": { "start": { "line": 7, "column": 43 }, "end": { "line": 20, "column": 1 } }, "body": [ { "type": "ClassMethod", "start": 384, "end": 511, "loc": { "start": { "line": 14, "column": 1 }, "end": { "line": 19, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 384, "end": 395, "loc": { "start": { "line": 14, "column": 1 }, "end": { "line": 14, "column": 12 }, "identifierName": "constructor" }, "name": "constructor", "leadingComments": null }, "kind": "constructor", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "AssignmentPattern", "start": 396, "end": 401, "loc": { "start": { "line": 14, "column": 13 }, "end": { "line": 14, "column": 18 } }, "left": { "type": "Identifier", "start": 396, "end": 397, "loc": { "start": { "line": 14, "column": 13 }, "end": { "line": 14, "column": 14 }, "identifierName": "x" }, "name": "x" }, "right": { "type": "NumericLiteral", "start": 400, "end": 401, "loc": { "start": { "line": 14, "column": 17 }, "end": { "line": 14, "column": 18 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 403, "end": 408, "loc": { "start": { "line": 14, "column": 20 }, "end": { "line": 14, "column": 25 } }, "left": { "type": "Identifier", "start": 403, "end": 404, "loc": { "start": { "line": 14, "column": 20 }, "end": { "line": 14, "column": 21 }, "identifierName": "y" }, "name": "y" }, "right": { "type": "NumericLiteral", "start": 407, "end": 408, "loc": { "start": { "line": 14, "column": 24 }, "end": { "line": 14, "column": 25 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 410, "end": 421, "loc": { "start": { "line": 14, "column": 27 }, "end": { "line": 14, "column": 38 } }, "left": { "type": "Identifier", "start": 410, "end": 417, "loc": { "start": { "line": 14, "column": 27 }, "end": { "line": 14, "column": 34 }, "identifierName": "padding" }, "name": "padding" }, "right": { "type": "NumericLiteral", "start": 420, "end": 421, "loc": { "start": { "line": 14, "column": 37 }, "end": { "line": 14, "column": 38 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "body": { "type": "BlockStatement", "start": 423, "end": 511, "loc": { "start": { "line": 14, "column": 40 }, "end": { "line": 19, "column": 2 } }, "body": [ { "type": "ExpressionStatement", "start": 427, "end": 467, "loc": { "start": { "line": 15, "column": 2 }, "end": { "line": 15, "column": 42 } }, "expression": { "type": "CallExpression", "start": 427, "end": 466, "loc": { "start": { "line": 15, "column": 2 }, "end": { "line": 15, "column": 41 } }, "callee": { "type": "Super", "start": 427, "end": 432, "loc": { "start": { "line": 15, "column": 2 }, "end": { "line": 15, "column": 7 } } }, "arguments": [ { "type": "Identifier", "start": 433, "end": 434, "loc": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": 9 }, "identifierName": "x" }, "name": "x" }, { "type": "Identifier", "start": 436, "end": 437, "loc": { "start": { "line": 15, "column": 11 }, "end": { "line": 15, "column": 12 }, "identifierName": "y" }, "name": "y" }, { "type": "ArrayExpression", "start": 439, "end": 447, "loc": { "start": { "line": 15, "column": 14 }, "end": { "line": 15, "column": 22 } }, "elements": [ { "type": "ArrayExpression", "start": 440, "end": 446, "loc": { "start": { "line": 15, "column": 15 }, "end": { "line": 15, "column": 21 } }, "elements": [ { "type": "NumericLiteral", "start": 441, "end": 442, "loc": { "start": { "line": 15, "column": 16 }, "end": { "line": 15, "column": 17 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, { "type": "NumericLiteral", "start": 444, "end": 445, "loc": { "start": { "line": 15, "column": 19 }, "end": { "line": 15, "column": 20 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } ] } ] }, { "type": "NumericLiteral", "start": 449, "end": 450, "loc": { "start": { "line": 15, "column": 24 }, "end": { "line": 15, "column": 25 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, { "type": "NumericLiteral", "start": 452, "end": 453, "loc": { "start": { "line": 15, "column": 27 }, "end": { "line": 15, "column": 28 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, { "type": "NumericLiteral", "start": 455, "end": 456, "loc": { "start": { "line": 15, "column": 30 }, "end": { "line": 15, "column": 31 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, { "type": "Identifier", "start": 458, "end": 465, "loc": { "start": { "line": 15, "column": 33 }, "end": { "line": 15, "column": 40 }, "identifierName": "padding" }, "name": "padding" } ] }, "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 471, "end": 486, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 489, "end": 508, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 21 } }, "expression": { "type": "AssignmentExpression", "start": 489, "end": 507, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 20 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 489, "end": 500, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 13 } }, "object": { "type": "ThisExpression", "start": 489, "end": 493, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 494, "end": 500, "loc": { "start": { "line": 18, "column": 7 }, "end": { "line": 18, "column": 13 }, "identifierName": "_point" }, "name": "_point" }, "computed": false, "leadingComments": null }, "right": { "type": "BooleanLiteral", "start": 503, "end": 507, "loc": { "start": { "line": 18, "column": 16 }, "end": { "line": 18, "column": 20 } }, "value": true }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 471, "end": 486, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 17 } } } ] } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t ", "start": 139, "end": 382, "loc": { "start": { "line": 8, "column": 1 }, "end": { "line": 13, "column": 4 } } } ] } ] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A point used to detect collisions\n * @class\n ", "start": 38, "end": 92, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 6, "column": 3 } } } ], "trailingComments": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A point used to detect collisions\n * @class\n ", "start": 38, "end": 92, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 6, "column": 3 } } } ] }, { "type": "EmptyStatement", "start": 513, "end": 514, "loc": { "start": { "line": 20, "column": 1 }, "end": { "line": 20, "column": 2 } } }, { "type": "ExpressionStatement", "start": 516, "end": 554, "loc": { "start": { "line": 22, "column": 0 }, "end": { "line": 22, "column": 38 } }, "expression": { "type": "AssignmentExpression", "start": 516, "end": 553, "loc": { "start": { "line": 22, "column": 0 }, "end": { "line": 22, "column": 37 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 516, "end": 541, "loc": { "start": { "line": 22, "column": 0 }, "end": { "line": 22, "column": 25 } }, "object": { "type": "MemberExpression", "start": 516, "end": 531, "loc": { "start": { "line": 22, "column": 0 }, "end": { "line": 22, "column": 15 } }, "object": { "type": "Identifier", "start": 516, "end": 521, "loc": { "start": { "line": 22, "column": 0 }, "end": { "line": 22, "column": 5 }, "identifierName": "Point" }, "name": "Point" }, "property": { "type": "Identifier", "start": 522, "end": 531, "loc": { "start": { "line": 22, "column": 6 }, "end": { "line": 22, "column": 15 }, "identifierName": "prototype" }, "name": "prototype" }, "computed": false }, "property": { "type": "Identifier", "start": 532, "end": 541, "loc": { "start": { "line": 22, "column": 16 }, "end": { "line": 22, "column": 25 }, "identifierName": "setPoints" }, "name": "setPoints" }, "computed": false }, "right": { "type": "Identifier", "start": 544, "end": 553, "loc": { "start": { "line": 22, "column": 28 }, "end": { "line": 22, "column": 37 }, "identifierName": "undefined" }, "name": "undefined" } } } ], "directives": [] }, "comments": [ { "type": "CommentBlock", "value": "*\n * A point used to detect collisions\n * @class\n ", "start": 38, "end": 92, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 6, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t ", "start": 139, "end": 382, "loc": { "start": { "line": 8, "column": 1 }, "end": { "line": 13, "column": 4 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 471, "end": 486, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 17 } } } ], "tokens": [ { "type": { "label": "import", "keyword": "import", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "import", "start": 0, "end": 6, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Polygon", "start": 7, "end": 14, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 15, "end": 19, "loc": { "start": { "line": 1, "column": 15 }, "end": { "line": 1, "column": 19 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./Polygon.mjs", "start": 20, "end": 35, "loc": { "start": { "line": 1, "column": 20 }, "end": { "line": 1, "column": 35 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 35, "end": 36, "loc": { "start": { "line": 1, "column": 35 }, "end": { "line": 1, "column": 36 } } }, { "type": "CommentBlock", "value": "*\n * A point used to detect collisions\n * @class\n ", "start": 38, "end": 92, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 6, "column": 3 } } }, { "type": { "label": "export", "keyword": "export", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "export", "start": 93, "end": 99, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 7, "column": 6 } } }, { "type": { "label": "default", "keyword": "default", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "default", "start": 100, "end": 107, "loc": { "start": { "line": 7, "column": 7 }, "end": { "line": 7, "column": 14 } } }, { "type": { "label": "class", "keyword": "class", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "class", "start": 108, "end": 113, "loc": { "start": { "line": 7, "column": 15 }, "end": { "line": 7, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Point", "start": 114, "end": 119, "loc": { "start": { "line": 7, "column": 21 }, "end": { "line": 7, "column": 26 } } }, { "type": { "label": "extends", "keyword": "extends", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "extends", "start": 120, "end": 127, "loc": { "start": { "line": 7, "column": 27 }, "end": { "line": 7, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Polygon", "start": 128, "end": 135, "loc": { "start": { "line": 7, "column": 35 }, "end": { "line": 7, "column": 42 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 136, "end": 137, "loc": { "start": { "line": 7, "column": 43 }, "end": { "line": 7, "column": 44 } } }, { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t ", "start": 139, "end": 382, "loc": { "start": { "line": 8, "column": 1 }, "end": { "line": 13, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "constructor", "start": 384, "end": 395, "loc": { "start": { "line": 14, "column": 1 }, "end": { "line": 14, "column": 12 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 395, "end": 396, "loc": { "start": { "line": 14, "column": 12 }, "end": { "line": 14, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 396, "end": 397, "loc": { "start": { "line": 14, "column": 13 }, "end": { "line": 14, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 398, "end": 399, "loc": { "start": { "line": 14, "column": 15 }, "end": { "line": 14, "column": 16 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 400, "end": 401, "loc": { "start": { "line": 14, "column": 17 }, "end": { "line": 14, "column": 18 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 401, "end": 402, "loc": { "start": { "line": 14, "column": 18 }, "end": { "line": 14, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 403, "end": 404, "loc": { "start": { "line": 14, "column": 20 }, "end": { "line": 14, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 405, "end": 406, "loc": { "start": { "line": 14, "column": 22 }, "end": { "line": 14, "column": 23 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 407, "end": 408, "loc": { "start": { "line": 14, "column": 24 }, "end": { "line": 14, "column": 25 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 408, "end": 409, "loc": { "start": { "line": 14, "column": 25 }, "end": { "line": 14, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 410, "end": 417, "loc": { "start": { "line": 14, "column": 27 }, "end": { "line": 14, "column": 34 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 418, "end": 419, "loc": { "start": { "line": 14, "column": 35 }, "end": { "line": 14, "column": 36 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 420, "end": 421, "loc": { "start": { "line": 14, "column": 37 }, "end": { "line": 14, "column": 38 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 421, "end": 422, "loc": { "start": { "line": 14, "column": 38 }, "end": { "line": 14, "column": 39 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 423, "end": 424, "loc": { "start": { "line": 14, "column": 40 }, "end": { "line": 14, "column": 41 } } }, { "type": { "label": "super", "keyword": "super", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "super", "start": 427, "end": 432, "loc": { "start": { "line": 15, "column": 2 }, "end": { "line": 15, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 432, "end": 433, "loc": { "start": { "line": 15, "column": 7 }, "end": { "line": 15, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 433, "end": 434, "loc": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": 9 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 434, "end": 435, "loc": { "start": { "line": 15, "column": 9 }, "end": { "line": 15, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 436, "end": 437, "loc": { "start": { "line": 15, "column": 11 }, "end": { "line": 15, "column": 12 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 437, "end": 438, "loc": { "start": { "line": 15, "column": 12 }, "end": { "line": 15, "column": 13 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 439, "end": 440, "loc": { "start": { "line": 15, "column": 14 }, "end": { "line": 15, "column": 15 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 440, "end": 441, "loc": { "start": { "line": 15, "column": 15 }, "end": { "line": 15, "column": 16 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 441, "end": 442, "loc": { "start": { "line": 15, "column": 16 }, "end": { "line": 15, "column": 17 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 442, "end": 443, "loc": { "start": { "line": 15, "column": 17 }, "end": { "line": 15, "column": 18 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 444, "end": 445, "loc": { "start": { "line": 15, "column": 19 }, "end": { "line": 15, "column": 20 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 445, "end": 446, "loc": { "start": { "line": 15, "column": 20 }, "end": { "line": 15, "column": 21 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 446, "end": 447, "loc": { "start": { "line": 15, "column": 21 }, "end": { "line": 15, "column": 22 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 447, "end": 448, "loc": { "start": { "line": 15, "column": 22 }, "end": { "line": 15, "column": 23 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 449, "end": 450, "loc": { "start": { "line": 15, "column": 24 }, "end": { "line": 15, "column": 25 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 450, "end": 451, "loc": { "start": { "line": 15, "column": 25 }, "end": { "line": 15, "column": 26 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 452, "end": 453, "loc": { "start": { "line": 15, "column": 27 }, "end": { "line": 15, "column": 28 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 453, "end": 454, "loc": { "start": { "line": 15, "column": 28 }, "end": { "line": 15, "column": 29 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 455, "end": 456, "loc": { "start": { "line": 15, "column": 30 }, "end": { "line": 15, "column": 31 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 456, "end": 457, "loc": { "start": { "line": 15, "column": 31 }, "end": { "line": 15, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 458, "end": 465, "loc": { "start": { "line": 15, "column": 33 }, "end": { "line": 15, "column": 40 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 465, "end": 466, "loc": { "start": { "line": 15, "column": 40 }, "end": { "line": 15, "column": 41 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 466, "end": 467, "loc": { "start": { "line": 15, "column": 41 }, "end": { "line": 15, "column": 42 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 471, "end": 486, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 489, "end": 493, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 493, "end": 494, "loc": { "start": { "line": 18, "column": 6 }, "end": { "line": 18, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_point", "start": 494, "end": 500, "loc": { "start": { "line": 18, "column": 7 }, "end": { "line": 18, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 501, "end": 502, "loc": { "start": { "line": 18, "column": 14 }, "end": { "line": 18, "column": 15 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 503, "end": 507, "loc": { "start": { "line": 18, "column": 16 }, "end": { "line": 18, "column": 20 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 507, "end": 508, "loc": { "start": { "line": 18, "column": 20 }, "end": { "line": 18, "column": 21 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 510, "end": 511, "loc": { "start": { "line": 19, "column": 1 }, "end": { "line": 19, "column": 2 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 512, "end": 513, "loc": { "start": { "line": 20, "column": 0 }, "end": { "line": 20, "column": 1 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 513, "end": 514, "loc": { "start": { "line": 20, "column": 1 }, "end": { "line": 20, "column": 2 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Point", "start": 516, "end": 521, "loc": { "start": { "line": 22, "column": 0 }, "end": { "line": 22, "column": 5 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 521, "end": 522, "loc": { "start": { "line": 22, "column": 5 }, "end": { "line": 22, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "prototype", "start": 522, "end": 531, "loc": { "start": { "line": 22, "column": 6 }, "end": { "line": 22, "column": 15 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 531, "end": 532, "loc": { "start": { "line": 22, "column": 15 }, "end": { "line": 22, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "setPoints", "start": 532, "end": 541, "loc": { "start": { "line": 22, "column": 16 }, "end": { "line": 22, "column": 25 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 542, "end": 543, "loc": { "start": { "line": 22, "column": 26 }, "end": { "line": 22, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "undefined", "start": 544, "end": 553, "loc": { "start": { "line": 22, "column": 28 }, "end": { "line": 22, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 553, "end": 554, "loc": { "start": { "line": 22, "column": 37 }, "end": { "line": 22, "column": 38 } } }, { "type": { "label": "eof", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 555, "end": 555, "loc": { "start": { "line": 23, "column": 0 }, "end": { "line": 23, "column": 0 } } } ] } ================================================ FILE: docs/ast/source/modules/Polygon.mjs.json ================================================ { "type": "File", "start": 0, "end": 5619, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 246, "column": 0 } }, "program": { "type": "Program", "start": 0, "end": 5619, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 246, "column": 0 } }, "sourceType": "module", "body": [ { "type": "ImportDeclaration", "start": 0, "end": 30, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 30 } }, "specifiers": [ { "type": "ImportDefaultSpecifier", "start": 7, "end": 11, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 11 } }, "local": { "type": "Identifier", "start": 7, "end": 11, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 11 }, "identifierName": "Body" }, "name": "Body" } } ], "source": { "type": "StringLiteral", "start": 17, "end": 29, "loc": { "start": { "line": 1, "column": 17 }, "end": { "line": 1, "column": 29 } }, "extra": { "rawValue": "./Body.mjs", "raw": "'./Body.mjs'" }, "value": "./Body.mjs" }, "trailingComments": [ { "type": "CommentBlock", "value": "*\n * A polygon used to detect collisions\n * @class\n ", "start": 32, "end": 88, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 6, "column": 3 } } } ] }, { "type": "ExportDefaultDeclaration", "start": 89, "end": 5617, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 245, "column": 1 } }, "declaration": { "type": "ClassDeclaration", "start": 104, "end": 5617, "loc": { "start": { "line": 7, "column": 15 }, "end": { "line": 245, "column": 1 } }, "id": { "type": "Identifier", "start": 110, "end": 117, "loc": { "start": { "line": 7, "column": 21 }, "end": { "line": 7, "column": 28 }, "identifierName": "Polygon" }, "name": "Polygon", "leadingComments": null }, "superClass": { "type": "Identifier", "start": 126, "end": 130, "loc": { "start": { "line": 7, "column": 37 }, "end": { "line": 7, "column": 41 }, "identifierName": "Body" }, "name": "Body" }, "body": { "type": "ClassBody", "start": 131, "end": 5617, "loc": { "start": { "line": 7, "column": 42 }, "end": { "line": 245, "column": 1 } }, "body": [ { "type": "ClassMethod", "start": 705, "end": 1853, "loc": { "start": { "line": 18, "column": 1 }, "end": { "line": 89, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 705, "end": 716, "loc": { "start": { "line": 18, "column": 1 }, "end": { "line": 18, "column": 12 }, "identifierName": "constructor" }, "name": "constructor", "leadingComments": null }, "kind": "constructor", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "AssignmentPattern", "start": 717, "end": 722, "loc": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 18 } }, "left": { "type": "Identifier", "start": 717, "end": 718, "loc": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 14 }, "identifierName": "x" }, "name": "x" }, "right": { "type": "NumericLiteral", "start": 721, "end": 722, "loc": { "start": { "line": 18, "column": 17 }, "end": { "line": 18, "column": 18 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 724, "end": 729, "loc": { "start": { "line": 18, "column": 20 }, "end": { "line": 18, "column": 25 } }, "left": { "type": "Identifier", "start": 724, "end": 725, "loc": { "start": { "line": 18, "column": 20 }, "end": { "line": 18, "column": 21 }, "identifierName": "y" }, "name": "y" }, "right": { "type": "NumericLiteral", "start": 728, "end": 729, "loc": { "start": { "line": 18, "column": 24 }, "end": { "line": 18, "column": 25 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 731, "end": 742, "loc": { "start": { "line": 18, "column": 27 }, "end": { "line": 18, "column": 38 } }, "left": { "type": "Identifier", "start": 731, "end": 737, "loc": { "start": { "line": 18, "column": 27 }, "end": { "line": 18, "column": 33 }, "identifierName": "points" }, "name": "points" }, "right": { "type": "ArrayExpression", "start": 740, "end": 742, "loc": { "start": { "line": 18, "column": 36 }, "end": { "line": 18, "column": 38 } }, "elements": [] } }, { "type": "AssignmentPattern", "start": 744, "end": 753, "loc": { "start": { "line": 18, "column": 40 }, "end": { "line": 18, "column": 49 } }, "left": { "type": "Identifier", "start": 744, "end": 749, "loc": { "start": { "line": 18, "column": 40 }, "end": { "line": 18, "column": 45 }, "identifierName": "angle" }, "name": "angle" }, "right": { "type": "NumericLiteral", "start": 752, "end": 753, "loc": { "start": { "line": 18, "column": 48 }, "end": { "line": 18, "column": 49 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "AssignmentPattern", "start": 755, "end": 766, "loc": { "start": { "line": 18, "column": 51 }, "end": { "line": 18, "column": 62 } }, "left": { "type": "Identifier", "start": 755, "end": 762, "loc": { "start": { "line": 18, "column": 51 }, "end": { "line": 18, "column": 58 }, "identifierName": "scale_x" }, "name": "scale_x" }, "right": { "type": "NumericLiteral", "start": 765, "end": 766, "loc": { "start": { "line": 18, "column": 61 }, "end": { "line": 18, "column": 62 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } }, { "type": "AssignmentPattern", "start": 768, "end": 779, "loc": { "start": { "line": 18, "column": 64 }, "end": { "line": 18, "column": 75 } }, "left": { "type": "Identifier", "start": 768, "end": 775, "loc": { "start": { "line": 18, "column": 64 }, "end": { "line": 18, "column": 71 }, "identifierName": "scale_y" }, "name": "scale_y" }, "right": { "type": "NumericLiteral", "start": 778, "end": 779, "loc": { "start": { "line": 18, "column": 74 }, "end": { "line": 18, "column": 75 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } }, { "type": "AssignmentPattern", "start": 781, "end": 792, "loc": { "start": { "line": 18, "column": 77 }, "end": { "line": 18, "column": 88 } }, "left": { "type": "Identifier", "start": 781, "end": 788, "loc": { "start": { "line": 18, "column": 77 }, "end": { "line": 18, "column": 84 }, "identifierName": "padding" }, "name": "padding" }, "right": { "type": "NumericLiteral", "start": 791, "end": 792, "loc": { "start": { "line": 18, "column": 87 }, "end": { "line": 18, "column": 88 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "body": { "type": "BlockStatement", "start": 794, "end": 1853, "loc": { "start": { "line": 18, "column": 90 }, "end": { "line": 89, "column": 2 } }, "body": [ { "type": "ExpressionStatement", "start": 798, "end": 819, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 23 } }, "expression": { "type": "CallExpression", "start": 798, "end": 818, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 22 } }, "callee": { "type": "Super", "start": 798, "end": 803, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 7 } } }, "arguments": [ { "type": "Identifier", "start": 804, "end": 805, "loc": { "start": { "line": 19, "column": 8 }, "end": { "line": 19, "column": 9 }, "identifierName": "x" }, "name": "x" }, { "type": "Identifier", "start": 807, "end": 808, "loc": { "start": { "line": 19, "column": 11 }, "end": { "line": 19, "column": 12 }, "identifierName": "y" }, "name": "y" }, { "type": "Identifier", "start": 810, "end": 817, "loc": { "start": { "line": 19, "column": 14 }, "end": { "line": 19, "column": 21 }, "identifierName": "padding" }, "name": "padding" } ] }, "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The angle of the body in radians\n\t\t * @type {Number}\n\t\t ", "start": 823, "end": 896, "loc": { "start": { "line": 21, "column": 2 }, "end": { "line": 24, "column": 5 } } } ] }, { "type": "ExpressionStatement", "start": 899, "end": 918, "loc": { "start": { "line": 25, "column": 2 }, "end": { "line": 25, "column": 21 } }, "expression": { "type": "AssignmentExpression", "start": 899, "end": 917, "loc": { "start": { "line": 25, "column": 2 }, "end": { "line": 25, "column": 20 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 899, "end": 909, "loc": { "start": { "line": 25, "column": 2 }, "end": { "line": 25, "column": 12 } }, "object": { "type": "ThisExpression", "start": 899, "end": 903, "loc": { "start": { "line": 25, "column": 2 }, "end": { "line": 25, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 904, "end": 909, "loc": { "start": { "line": 25, "column": 7 }, "end": { "line": 25, "column": 12 }, "identifierName": "angle" }, "name": "angle" }, "computed": false, "leadingComments": null }, "right": { "type": "Identifier", "start": 912, "end": 917, "loc": { "start": { "line": 25, "column": 15 }, "end": { "line": 25, "column": 20 }, "identifierName": "angle" }, "name": "angle" }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The angle of the body in radians\n\t\t * @type {Number}\n\t\t ", "start": 823, "end": 896, "loc": { "start": { "line": 21, "column": 2 }, "end": { "line": 24, "column": 5 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The scale of the body along the X axis\n\t\t * @type {Number}\n\t\t ", "start": 922, "end": 1001, "loc": { "start": { "line": 27, "column": 2 }, "end": { "line": 30, "column": 5 } } } ] }, { "type": "ExpressionStatement", "start": 1004, "end": 1027, "loc": { "start": { "line": 31, "column": 2 }, "end": { "line": 31, "column": 25 } }, "expression": { "type": "AssignmentExpression", "start": 1004, "end": 1026, "loc": { "start": { "line": 31, "column": 2 }, "end": { "line": 31, "column": 24 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1004, "end": 1016, "loc": { "start": { "line": 31, "column": 2 }, "end": { "line": 31, "column": 14 } }, "object": { "type": "ThisExpression", "start": 1004, "end": 1008, "loc": { "start": { "line": 31, "column": 2 }, "end": { "line": 31, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1009, "end": 1016, "loc": { "start": { "line": 31, "column": 7 }, "end": { "line": 31, "column": 14 }, "identifierName": "scale_x" }, "name": "scale_x" }, "computed": false, "leadingComments": null }, "right": { "type": "Identifier", "start": 1019, "end": 1026, "loc": { "start": { "line": 31, "column": 17 }, "end": { "line": 31, "column": 24 }, "identifierName": "scale_x" }, "name": "scale_x" }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The scale of the body along the X axis\n\t\t * @type {Number}\n\t\t ", "start": 922, "end": 1001, "loc": { "start": { "line": 27, "column": 2 }, "end": { "line": 30, "column": 5 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The scale of the body along the Y axis\n\t\t * @type {Number}\n\t\t ", "start": 1031, "end": 1110, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 36, "column": 5 } } } ] }, { "type": "ExpressionStatement", "start": 1113, "end": 1136, "loc": { "start": { "line": 37, "column": 2 }, "end": { "line": 37, "column": 25 } }, "expression": { "type": "AssignmentExpression", "start": 1113, "end": 1135, "loc": { "start": { "line": 37, "column": 2 }, "end": { "line": 37, "column": 24 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1113, "end": 1125, "loc": { "start": { "line": 37, "column": 2 }, "end": { "line": 37, "column": 14 } }, "object": { "type": "ThisExpression", "start": 1113, "end": 1117, "loc": { "start": { "line": 37, "column": 2 }, "end": { "line": 37, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1118, "end": 1125, "loc": { "start": { "line": 37, "column": 7 }, "end": { "line": 37, "column": 14 }, "identifierName": "scale_y" }, "name": "scale_y" }, "computed": false, "leadingComments": null }, "right": { "type": "Identifier", "start": 1128, "end": 1135, "loc": { "start": { "line": 37, "column": 17 }, "end": { "line": 37, "column": 24 }, "identifierName": "scale_y" }, "name": "scale_y" }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The scale of the body along the Y axis\n\t\t * @type {Number}\n\t\t ", "start": 1031, "end": 1110, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 36, "column": 5 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1141, "end": 1156, "loc": { "start": { "line": 40, "column": 2 }, "end": { "line": 40, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1159, "end": 1180, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 23 } }, "expression": { "type": "AssignmentExpression", "start": 1159, "end": 1179, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 22 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1159, "end": 1172, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 15 } }, "object": { "type": "ThisExpression", "start": 1159, "end": 1163, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1164, "end": 1172, "loc": { "start": { "line": 41, "column": 7 }, "end": { "line": 41, "column": 15 }, "identifierName": "_polygon" }, "name": "_polygon" }, "computed": false, "leadingComments": null }, "right": { "type": "BooleanLiteral", "start": 1175, "end": 1179, "loc": { "start": { "line": 41, "column": 18 }, "end": { "line": 41, "column": 22 } }, "value": true }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1141, "end": 1156, "loc": { "start": { "line": 40, "column": 2 }, "end": { "line": 40, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1184, "end": 1199, "loc": { "start": { "line": 43, "column": 2 }, "end": { "line": 43, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1202, "end": 1214, "loc": { "start": { "line": 44, "column": 2 }, "end": { "line": 44, "column": 14 } }, "expression": { "type": "AssignmentExpression", "start": 1202, "end": 1213, "loc": { "start": { "line": 44, "column": 2 }, "end": { "line": 44, "column": 13 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1202, "end": 1209, "loc": { "start": { "line": 44, "column": 2 }, "end": { "line": 44, "column": 9 } }, "object": { "type": "ThisExpression", "start": 1202, "end": 1206, "loc": { "start": { "line": 44, "column": 2 }, "end": { "line": 44, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1207, "end": 1209, "loc": { "start": { "line": 44, "column": 7 }, "end": { "line": 44, "column": 9 }, "identifierName": "_x" }, "name": "_x" }, "computed": false, "leadingComments": null }, "right": { "type": "Identifier", "start": 1212, "end": 1213, "loc": { "start": { "line": 44, "column": 12 }, "end": { "line": 44, "column": 13 }, "identifierName": "x" }, "name": "x" }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1184, "end": 1199, "loc": { "start": { "line": 43, "column": 2 }, "end": { "line": 43, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1218, "end": 1233, "loc": { "start": { "line": 46, "column": 2 }, "end": { "line": 46, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1236, "end": 1248, "loc": { "start": { "line": 47, "column": 2 }, "end": { "line": 47, "column": 14 } }, "expression": { "type": "AssignmentExpression", "start": 1236, "end": 1247, "loc": { "start": { "line": 47, "column": 2 }, "end": { "line": 47, "column": 13 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1236, "end": 1243, "loc": { "start": { "line": 47, "column": 2 }, "end": { "line": 47, "column": 9 } }, "object": { "type": "ThisExpression", "start": 1236, "end": 1240, "loc": { "start": { "line": 47, "column": 2 }, "end": { "line": 47, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1241, "end": 1243, "loc": { "start": { "line": 47, "column": 7 }, "end": { "line": 47, "column": 9 }, "identifierName": "_y" }, "name": "_y" }, "computed": false, "leadingComments": null }, "right": { "type": "Identifier", "start": 1246, "end": 1247, "loc": { "start": { "line": 47, "column": 12 }, "end": { "line": 47, "column": 13 }, "identifierName": "y" }, "name": "y" }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1218, "end": 1233, "loc": { "start": { "line": 46, "column": 2 }, "end": { "line": 46, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1252, "end": 1267, "loc": { "start": { "line": 49, "column": 2 }, "end": { "line": 49, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1270, "end": 1290, "loc": { "start": { "line": 50, "column": 2 }, "end": { "line": 50, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 1270, "end": 1289, "loc": { "start": { "line": 50, "column": 2 }, "end": { "line": 50, "column": 21 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1270, "end": 1281, "loc": { "start": { "line": 50, "column": 2 }, "end": { "line": 50, "column": 13 } }, "object": { "type": "ThisExpression", "start": 1270, "end": 1274, "loc": { "start": { "line": 50, "column": 2 }, "end": { "line": 50, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1275, "end": 1281, "loc": { "start": { "line": 50, "column": 7 }, "end": { "line": 50, "column": 13 }, "identifierName": "_angle" }, "name": "_angle" }, "computed": false, "leadingComments": null }, "right": { "type": "Identifier", "start": 1284, "end": 1289, "loc": { "start": { "line": 50, "column": 16 }, "end": { "line": 50, "column": 21 }, "identifierName": "angle" }, "name": "angle" }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1252, "end": 1267, "loc": { "start": { "line": 49, "column": 2 }, "end": { "line": 49, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1294, "end": 1309, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1312, "end": 1336, "loc": { "start": { "line": 53, "column": 2 }, "end": { "line": 53, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 1312, "end": 1335, "loc": { "start": { "line": 53, "column": 2 }, "end": { "line": 53, "column": 25 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1312, "end": 1325, "loc": { "start": { "line": 53, "column": 2 }, "end": { "line": 53, "column": 15 } }, "object": { "type": "ThisExpression", "start": 1312, "end": 1316, "loc": { "start": { "line": 53, "column": 2 }, "end": { "line": 53, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1317, "end": 1325, "loc": { "start": { "line": 53, "column": 7 }, "end": { "line": 53, "column": 15 }, "identifierName": "_scale_x" }, "name": "_scale_x" }, "computed": false, "leadingComments": null }, "right": { "type": "Identifier", "start": 1328, "end": 1335, "loc": { "start": { "line": 53, "column": 18 }, "end": { "line": 53, "column": 25 }, "identifierName": "scale_x" }, "name": "scale_x" }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1294, "end": 1309, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1340, "end": 1355, "loc": { "start": { "line": 55, "column": 2 }, "end": { "line": 55, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1358, "end": 1382, "loc": { "start": { "line": 56, "column": 2 }, "end": { "line": 56, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 1358, "end": 1381, "loc": { "start": { "line": 56, "column": 2 }, "end": { "line": 56, "column": 25 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1358, "end": 1371, "loc": { "start": { "line": 56, "column": 2 }, "end": { "line": 56, "column": 15 } }, "object": { "type": "ThisExpression", "start": 1358, "end": 1362, "loc": { "start": { "line": 56, "column": 2 }, "end": { "line": 56, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1363, "end": 1371, "loc": { "start": { "line": 56, "column": 7 }, "end": { "line": 56, "column": 15 }, "identifierName": "_scale_y" }, "name": "_scale_y" }, "computed": false, "leadingComments": null }, "right": { "type": "Identifier", "start": 1374, "end": 1381, "loc": { "start": { "line": 56, "column": 18 }, "end": { "line": 56, "column": 25 }, "identifierName": "scale_y" }, "name": "scale_y" }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1340, "end": 1355, "loc": { "start": { "line": 55, "column": 2 }, "end": { "line": 55, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1386, "end": 1401, "loc": { "start": { "line": 58, "column": 2 }, "end": { "line": 58, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1404, "end": 1420, "loc": { "start": { "line": 59, "column": 2 }, "end": { "line": 59, "column": 18 } }, "expression": { "type": "AssignmentExpression", "start": 1404, "end": 1419, "loc": { "start": { "line": 59, "column": 2 }, "end": { "line": 59, "column": 17 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1404, "end": 1415, "loc": { "start": { "line": 59, "column": 2 }, "end": { "line": 59, "column": 13 } }, "object": { "type": "ThisExpression", "start": 1404, "end": 1408, "loc": { "start": { "line": 59, "column": 2 }, "end": { "line": 59, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1409, "end": 1415, "loc": { "start": { "line": 59, "column": 7 }, "end": { "line": 59, "column": 13 }, "identifierName": "_min_x" }, "name": "_min_x" }, "computed": false, "leadingComments": null }, "right": { "type": "NumericLiteral", "start": 1418, "end": 1419, "loc": { "start": { "line": 59, "column": 16 }, "end": { "line": 59, "column": 17 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1386, "end": 1401, "loc": { "start": { "line": 58, "column": 2 }, "end": { "line": 58, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1424, "end": 1439, "loc": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1442, "end": 1458, "loc": { "start": { "line": 62, "column": 2 }, "end": { "line": 62, "column": 18 } }, "expression": { "type": "AssignmentExpression", "start": 1442, "end": 1457, "loc": { "start": { "line": 62, "column": 2 }, "end": { "line": 62, "column": 17 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1442, "end": 1453, "loc": { "start": { "line": 62, "column": 2 }, "end": { "line": 62, "column": 13 } }, "object": { "type": "ThisExpression", "start": 1442, "end": 1446, "loc": { "start": { "line": 62, "column": 2 }, "end": { "line": 62, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1447, "end": 1453, "loc": { "start": { "line": 62, "column": 7 }, "end": { "line": 62, "column": 13 }, "identifierName": "_min_y" }, "name": "_min_y" }, "computed": false, "leadingComments": null }, "right": { "type": "NumericLiteral", "start": 1456, "end": 1457, "loc": { "start": { "line": 62, "column": 16 }, "end": { "line": 62, "column": 17 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1424, "end": 1439, "loc": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1462, "end": 1477, "loc": { "start": { "line": 64, "column": 2 }, "end": { "line": 64, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1480, "end": 1496, "loc": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": 18 } }, "expression": { "type": "AssignmentExpression", "start": 1480, "end": 1495, "loc": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": 17 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1480, "end": 1491, "loc": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": 13 } }, "object": { "type": "ThisExpression", "start": 1480, "end": 1484, "loc": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1485, "end": 1491, "loc": { "start": { "line": 65, "column": 7 }, "end": { "line": 65, "column": 13 }, "identifierName": "_max_x" }, "name": "_max_x" }, "computed": false, "leadingComments": null }, "right": { "type": "NumericLiteral", "start": 1494, "end": 1495, "loc": { "start": { "line": 65, "column": 16 }, "end": { "line": 65, "column": 17 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1462, "end": 1477, "loc": { "start": { "line": 64, "column": 2 }, "end": { "line": 64, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1500, "end": 1515, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1518, "end": 1534, "loc": { "start": { "line": 68, "column": 2 }, "end": { "line": 68, "column": 18 } }, "expression": { "type": "AssignmentExpression", "start": 1518, "end": 1533, "loc": { "start": { "line": 68, "column": 2 }, "end": { "line": 68, "column": 17 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1518, "end": 1529, "loc": { "start": { "line": 68, "column": 2 }, "end": { "line": 68, "column": 13 } }, "object": { "type": "ThisExpression", "start": 1518, "end": 1522, "loc": { "start": { "line": 68, "column": 2 }, "end": { "line": 68, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1523, "end": 1529, "loc": { "start": { "line": 68, "column": 7 }, "end": { "line": 68, "column": 13 }, "identifierName": "_max_y" }, "name": "_max_y" }, "computed": false, "leadingComments": null }, "right": { "type": "NumericLiteral", "start": 1532, "end": 1533, "loc": { "start": { "line": 68, "column": 16 }, "end": { "line": 68, "column": 17 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1500, "end": 1515, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1538, "end": 1553, "loc": { "start": { "line": 70, "column": 2 }, "end": { "line": 70, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1556, "end": 1576, "loc": { "start": { "line": 71, "column": 2 }, "end": { "line": 71, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 1556, "end": 1575, "loc": { "start": { "line": 71, "column": 2 }, "end": { "line": 71, "column": 21 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1556, "end": 1568, "loc": { "start": { "line": 71, "column": 2 }, "end": { "line": 71, "column": 14 } }, "object": { "type": "ThisExpression", "start": 1556, "end": 1560, "loc": { "start": { "line": 71, "column": 2 }, "end": { "line": 71, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1561, "end": 1568, "loc": { "start": { "line": 71, "column": 7 }, "end": { "line": 71, "column": 14 }, "identifierName": "_points" }, "name": "_points" }, "computed": false, "leadingComments": null }, "right": { "type": "NullLiteral", "start": 1571, "end": 1575, "loc": { "start": { "line": 71, "column": 17 }, "end": { "line": 71, "column": 21 } } }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1538, "end": 1553, "loc": { "start": { "line": 70, "column": 2 }, "end": { "line": 70, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1580, "end": 1595, "loc": { "start": { "line": 73, "column": 2 }, "end": { "line": 73, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1598, "end": 1618, "loc": { "start": { "line": 74, "column": 2 }, "end": { "line": 74, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 1598, "end": 1617, "loc": { "start": { "line": 74, "column": 2 }, "end": { "line": 74, "column": 21 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1598, "end": 1610, "loc": { "start": { "line": 74, "column": 2 }, "end": { "line": 74, "column": 14 } }, "object": { "type": "ThisExpression", "start": 1598, "end": 1602, "loc": { "start": { "line": 74, "column": 2 }, "end": { "line": 74, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1603, "end": 1610, "loc": { "start": { "line": 74, "column": 7 }, "end": { "line": 74, "column": 14 }, "identifierName": "_coords" }, "name": "_coords" }, "computed": false, "leadingComments": null }, "right": { "type": "NullLiteral", "start": 1613, "end": 1617, "loc": { "start": { "line": 74, "column": 17 }, "end": { "line": 74, "column": 21 } } }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1580, "end": 1595, "loc": { "start": { "line": 73, "column": 2 }, "end": { "line": 73, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1622, "end": 1637, "loc": { "start": { "line": 76, "column": 2 }, "end": { "line": 76, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1640, "end": 1659, "loc": { "start": { "line": 77, "column": 2 }, "end": { "line": 77, "column": 21 } }, "expression": { "type": "AssignmentExpression", "start": 1640, "end": 1658, "loc": { "start": { "line": 77, "column": 2 }, "end": { "line": 77, "column": 20 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1640, "end": 1651, "loc": { "start": { "line": 77, "column": 2 }, "end": { "line": 77, "column": 13 } }, "object": { "type": "ThisExpression", "start": 1640, "end": 1644, "loc": { "start": { "line": 77, "column": 2 }, "end": { "line": 77, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1645, "end": 1651, "loc": { "start": { "line": 77, "column": 7 }, "end": { "line": 77, "column": 13 }, "identifierName": "_edges" }, "name": "_edges" }, "computed": false, "leadingComments": null }, "right": { "type": "NullLiteral", "start": 1654, "end": 1658, "loc": { "start": { "line": 77, "column": 16 }, "end": { "line": 77, "column": 20 } } }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1622, "end": 1637, "loc": { "start": { "line": 76, "column": 2 }, "end": { "line": 76, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1663, "end": 1678, "loc": { "start": { "line": 79, "column": 2 }, "end": { "line": 79, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1681, "end": 1702, "loc": { "start": { "line": 80, "column": 2 }, "end": { "line": 80, "column": 23 } }, "expression": { "type": "AssignmentExpression", "start": 1681, "end": 1701, "loc": { "start": { "line": 80, "column": 2 }, "end": { "line": 80, "column": 22 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1681, "end": 1694, "loc": { "start": { "line": 80, "column": 2 }, "end": { "line": 80, "column": 15 } }, "object": { "type": "ThisExpression", "start": 1681, "end": 1685, "loc": { "start": { "line": 80, "column": 2 }, "end": { "line": 80, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1686, "end": 1694, "loc": { "start": { "line": 80, "column": 7 }, "end": { "line": 80, "column": 15 }, "identifierName": "_normals" }, "name": "_normals" }, "computed": false, "leadingComments": null }, "right": { "type": "NullLiteral", "start": 1697, "end": 1701, "loc": { "start": { "line": 80, "column": 18 }, "end": { "line": 80, "column": 22 } } }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1663, "end": 1678, "loc": { "start": { "line": 79, "column": 2 }, "end": { "line": 79, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1706, "end": 1721, "loc": { "start": { "line": 82, "column": 2 }, "end": { "line": 82, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1724, "end": 1750, "loc": { "start": { "line": 83, "column": 2 }, "end": { "line": 83, "column": 28 } }, "expression": { "type": "AssignmentExpression", "start": 1724, "end": 1749, "loc": { "start": { "line": 83, "column": 2 }, "end": { "line": 83, "column": 27 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1724, "end": 1742, "loc": { "start": { "line": 83, "column": 2 }, "end": { "line": 83, "column": 20 } }, "object": { "type": "ThisExpression", "start": 1724, "end": 1728, "loc": { "start": { "line": 83, "column": 2 }, "end": { "line": 83, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1729, "end": 1742, "loc": { "start": { "line": 83, "column": 7 }, "end": { "line": 83, "column": 20 }, "identifierName": "_dirty_coords" }, "name": "_dirty_coords" }, "computed": false, "leadingComments": null }, "right": { "type": "BooleanLiteral", "start": 1745, "end": 1749, "loc": { "start": { "line": 83, "column": 23 }, "end": { "line": 83, "column": 27 } }, "value": true }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1706, "end": 1721, "loc": { "start": { "line": 82, "column": 2 }, "end": { "line": 82, "column": 17 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1754, "end": 1769, "loc": { "start": { "line": 85, "column": 2 }, "end": { "line": 85, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1772, "end": 1799, "loc": { "start": { "line": 86, "column": 2 }, "end": { "line": 86, "column": 29 } }, "expression": { "type": "AssignmentExpression", "start": 1772, "end": 1798, "loc": { "start": { "line": 86, "column": 2 }, "end": { "line": 86, "column": 28 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1772, "end": 1791, "loc": { "start": { "line": 86, "column": 2 }, "end": { "line": 86, "column": 21 } }, "object": { "type": "ThisExpression", "start": 1772, "end": 1776, "loc": { "start": { "line": 86, "column": 2 }, "end": { "line": 86, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1777, "end": 1791, "loc": { "start": { "line": 86, "column": 7 }, "end": { "line": 86, "column": 21 }, "identifierName": "_dirty_normals" }, "name": "_dirty_normals" }, "computed": false, "leadingComments": null }, "right": { "type": "BooleanLiteral", "start": 1794, "end": 1798, "loc": { "start": { "line": 86, "column": 24 }, "end": { "line": 86, "column": 28 } }, "value": true }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "* @private ", "start": 1754, "end": 1769, "loc": { "start": { "line": 85, "column": 2 }, "end": { "line": 85, "column": 17 } } } ] }, { "type": "ExpressionStatement", "start": 1803, "end": 1850, "loc": { "start": { "line": 88, "column": 2 }, "end": { "line": 88, "column": 49 } }, "expression": { "type": "CallExpression", "start": 1803, "end": 1849, "loc": { "start": { "line": 88, "column": 2 }, "end": { "line": 88, "column": 48 } }, "callee": { "type": "MemberExpression", "start": 1803, "end": 1835, "loc": { "start": { "line": 88, "column": 2 }, "end": { "line": 88, "column": 34 } }, "object": { "type": "MemberExpression", "start": 1803, "end": 1830, "loc": { "start": { "line": 88, "column": 2 }, "end": { "line": 88, "column": 29 } }, "object": { "type": "MemberExpression", "start": 1803, "end": 1820, "loc": { "start": { "line": 88, "column": 2 }, "end": { "line": 88, "column": 19 } }, "object": { "type": "Identifier", "start": 1803, "end": 1810, "loc": { "start": { "line": 88, "column": 2 }, "end": { "line": 88, "column": 9 }, "identifierName": "Polygon" }, "name": "Polygon" }, "property": { "type": "Identifier", "start": 1811, "end": 1820, "loc": { "start": { "line": 88, "column": 10 }, "end": { "line": 88, "column": 19 }, "identifierName": "prototype" }, "name": "prototype" }, "computed": false }, "property": { "type": "Identifier", "start": 1821, "end": 1830, "loc": { "start": { "line": 88, "column": 20 }, "end": { "line": 88, "column": 29 }, "identifierName": "setPoints" }, "name": "setPoints" }, "computed": false }, "property": { "type": "Identifier", "start": 1831, "end": 1835, "loc": { "start": { "line": 88, "column": 30 }, "end": { "line": 88, "column": 34 }, "identifierName": "call" }, "name": "call" }, "computed": false }, "arguments": [ { "type": "ThisExpression", "start": 1836, "end": 1840, "loc": { "start": { "line": 88, "column": 35 }, "end": { "line": 88, "column": 39 } } }, { "type": "Identifier", "start": 1842, "end": 1848, "loc": { "start": { "line": 88, "column": 41 }, "end": { "line": 88, "column": 47 }, "identifierName": "points" }, "name": "points" } ] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Array} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t * @param {Number} [angle = 0] The starting rotation in radians\n\t * @param {Number} [scale_x = 1] The starting scale along the X axis\n\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t ", "start": 134, "end": 703, "loc": { "start": { "line": 8, "column": 1 }, "end": { "line": 17, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Draws the polygon to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to add the shape to\n\t ", "start": 1856, "end": 2009, "loc": { "start": { "line": 91, "column": 1 }, "end": { "line": 94, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 2011, "end": 2657, "loc": { "start": { "line": 95, "column": 1 }, "end": { "line": 124, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 2011, "end": 2015, "loc": { "start": { "line": 95, "column": 1 }, "end": { "line": 95, "column": 5 }, "identifierName": "draw" }, "name": "draw", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 2016, "end": 2023, "loc": { "start": { "line": 95, "column": 6 }, "end": { "line": 95, "column": 13 }, "identifierName": "context" }, "name": "context" } ], "body": { "type": "BlockStatement", "start": 2025, "end": 2657, "loc": { "start": { "line": 95, "column": 15 }, "end": { "line": 124, "column": 2 } }, "body": [ { "type": "IfStatement", "start": 2029, "end": 2263, "loc": { "start": { "line": 96, "column": 2 }, "end": { "line": 105, "column": 3 } }, "test": { "type": "LogicalExpression", "start": 2036, "end": 2225, "loc": { "start": { "line": 97, "column": 3 }, "end": { "line": 102, "column": 33 } }, "left": { "type": "LogicalExpression", "start": 2036, "end": 2188, "loc": { "start": { "line": 97, "column": 3 }, "end": { "line": 101, "column": 33 } }, "left": { "type": "LogicalExpression", "start": 2036, "end": 2151, "loc": { "start": { "line": 97, "column": 3 }, "end": { "line": 100, "column": 31 } }, "left": { "type": "LogicalExpression", "start": 2036, "end": 2116, "loc": { "start": { "line": 97, "column": 3 }, "end": { "line": 99, "column": 27 } }, "left": { "type": "LogicalExpression", "start": 2036, "end": 2085, "loc": { "start": { "line": 97, "column": 3 }, "end": { "line": 98, "column": 27 } }, "left": { "type": "MemberExpression", "start": 2036, "end": 2054, "loc": { "start": { "line": 97, "column": 3 }, "end": { "line": 97, "column": 21 } }, "object": { "type": "ThisExpression", "start": 2036, "end": 2040, "loc": { "start": { "line": 97, "column": 3 }, "end": { "line": 97, "column": 7 } } }, "property": { "type": "Identifier", "start": 2041, "end": 2054, "loc": { "start": { "line": 97, "column": 8 }, "end": { "line": 97, "column": 21 }, "identifierName": "_dirty_coords" }, "name": "_dirty_coords" }, "computed": false }, "operator": "||", "right": { "type": "BinaryExpression", "start": 2061, "end": 2085, "loc": { "start": { "line": 98, "column": 3 }, "end": { "line": 98, "column": 27 } }, "left": { "type": "MemberExpression", "start": 2061, "end": 2067, "loc": { "start": { "line": 98, "column": 3 }, "end": { "line": 98, "column": 9 } }, "object": { "type": "ThisExpression", "start": 2061, "end": 2065, "loc": { "start": { "line": 98, "column": 3 }, "end": { "line": 98, "column": 7 } } }, "property": { "type": "Identifier", "start": 2066, "end": 2067, "loc": { "start": { "line": 98, "column": 8 }, "end": { "line": 98, "column": 9 }, "identifierName": "x" }, "name": "x" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 2078, "end": 2085, "loc": { "start": { "line": 98, "column": 20 }, "end": { "line": 98, "column": 27 } }, "object": { "type": "ThisExpression", "start": 2078, "end": 2082, "loc": { "start": { "line": 98, "column": 20 }, "end": { "line": 98, "column": 24 } } }, "property": { "type": "Identifier", "start": 2083, "end": 2085, "loc": { "start": { "line": 98, "column": 25 }, "end": { "line": 98, "column": 27 }, "identifierName": "_x" }, "name": "_x" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 2092, "end": 2116, "loc": { "start": { "line": 99, "column": 3 }, "end": { "line": 99, "column": 27 } }, "left": { "type": "MemberExpression", "start": 2092, "end": 2098, "loc": { "start": { "line": 99, "column": 3 }, "end": { "line": 99, "column": 9 } }, "object": { "type": "ThisExpression", "start": 2092, "end": 2096, "loc": { "start": { "line": 99, "column": 3 }, "end": { "line": 99, "column": 7 } } }, "property": { "type": "Identifier", "start": 2097, "end": 2098, "loc": { "start": { "line": 99, "column": 8 }, "end": { "line": 99, "column": 9 }, "identifierName": "y" }, "name": "y" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 2109, "end": 2116, "loc": { "start": { "line": 99, "column": 20 }, "end": { "line": 99, "column": 27 } }, "object": { "type": "ThisExpression", "start": 2109, "end": 2113, "loc": { "start": { "line": 99, "column": 20 }, "end": { "line": 99, "column": 24 } } }, "property": { "type": "Identifier", "start": 2114, "end": 2116, "loc": { "start": { "line": 99, "column": 25 }, "end": { "line": 99, "column": 27 }, "identifierName": "_y" }, "name": "_y" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 2123, "end": 2151, "loc": { "start": { "line": 100, "column": 3 }, "end": { "line": 100, "column": 31 } }, "left": { "type": "MemberExpression", "start": 2123, "end": 2133, "loc": { "start": { "line": 100, "column": 3 }, "end": { "line": 100, "column": 13 } }, "object": { "type": "ThisExpression", "start": 2123, "end": 2127, "loc": { "start": { "line": 100, "column": 3 }, "end": { "line": 100, "column": 7 } } }, "property": { "type": "Identifier", "start": 2128, "end": 2133, "loc": { "start": { "line": 100, "column": 8 }, "end": { "line": 100, "column": 13 }, "identifierName": "angle" }, "name": "angle" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 2140, "end": 2151, "loc": { "start": { "line": 100, "column": 20 }, "end": { "line": 100, "column": 31 } }, "object": { "type": "ThisExpression", "start": 2140, "end": 2144, "loc": { "start": { "line": 100, "column": 20 }, "end": { "line": 100, "column": 24 } } }, "property": { "type": "Identifier", "start": 2145, "end": 2151, "loc": { "start": { "line": 100, "column": 25 }, "end": { "line": 100, "column": 31 }, "identifierName": "_angle" }, "name": "_angle" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 2158, "end": 2188, "loc": { "start": { "line": 101, "column": 3 }, "end": { "line": 101, "column": 33 } }, "left": { "type": "MemberExpression", "start": 2158, "end": 2170, "loc": { "start": { "line": 101, "column": 3 }, "end": { "line": 101, "column": 15 } }, "object": { "type": "ThisExpression", "start": 2158, "end": 2162, "loc": { "start": { "line": 101, "column": 3 }, "end": { "line": 101, "column": 7 } } }, "property": { "type": "Identifier", "start": 2163, "end": 2170, "loc": { "start": { "line": 101, "column": 8 }, "end": { "line": 101, "column": 15 }, "identifierName": "scale_x" }, "name": "scale_x" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 2175, "end": 2188, "loc": { "start": { "line": 101, "column": 20 }, "end": { "line": 101, "column": 33 } }, "object": { "type": "ThisExpression", "start": 2175, "end": 2179, "loc": { "start": { "line": 101, "column": 20 }, "end": { "line": 101, "column": 24 } } }, "property": { "type": "Identifier", "start": 2180, "end": 2188, "loc": { "start": { "line": 101, "column": 25 }, "end": { "line": 101, "column": 33 }, "identifierName": "_scale_x" }, "name": "_scale_x" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 2195, "end": 2225, "loc": { "start": { "line": 102, "column": 3 }, "end": { "line": 102, "column": 33 } }, "left": { "type": "MemberExpression", "start": 2195, "end": 2207, "loc": { "start": { "line": 102, "column": 3 }, "end": { "line": 102, "column": 15 } }, "object": { "type": "ThisExpression", "start": 2195, "end": 2199, "loc": { "start": { "line": 102, "column": 3 }, "end": { "line": 102, "column": 7 } } }, "property": { "type": "Identifier", "start": 2200, "end": 2207, "loc": { "start": { "line": 102, "column": 8 }, "end": { "line": 102, "column": 15 }, "identifierName": "scale_y" }, "name": "scale_y" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 2212, "end": 2225, "loc": { "start": { "line": 102, "column": 20 }, "end": { "line": 102, "column": 33 } }, "object": { "type": "ThisExpression", "start": 2212, "end": 2216, "loc": { "start": { "line": 102, "column": 20 }, "end": { "line": 102, "column": 24 } } }, "property": { "type": "Identifier", "start": 2217, "end": 2225, "loc": { "start": { "line": 102, "column": 25 }, "end": { "line": 102, "column": 33 }, "identifierName": "_scale_y" }, "name": "_scale_y" }, "computed": false } } }, "consequent": { "type": "BlockStatement", "start": 2230, "end": 2263, "loc": { "start": { "line": 103, "column": 4 }, "end": { "line": 105, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 2235, "end": 2259, "loc": { "start": { "line": 104, "column": 3 }, "end": { "line": 104, "column": 27 } }, "expression": { "type": "CallExpression", "start": 2235, "end": 2258, "loc": { "start": { "line": 104, "column": 3 }, "end": { "line": 104, "column": 26 } }, "callee": { "type": "MemberExpression", "start": 2235, "end": 2256, "loc": { "start": { "line": 104, "column": 3 }, "end": { "line": 104, "column": 24 } }, "object": { "type": "ThisExpression", "start": 2235, "end": 2239, "loc": { "start": { "line": 104, "column": 3 }, "end": { "line": 104, "column": 7 } } }, "property": { "type": "Identifier", "start": 2240, "end": 2256, "loc": { "start": { "line": 104, "column": 8 }, "end": { "line": 104, "column": 24 }, "identifierName": "_calculateCoords" }, "name": "_calculateCoords" }, "computed": false }, "arguments": [] } } ], "directives": [] }, "alternate": null }, { "type": "VariableDeclaration", "start": 2267, "end": 2295, "loc": { "start": { "line": 107, "column": 2 }, "end": { "line": 107, "column": 30 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2273, "end": 2294, "loc": { "start": { "line": 107, "column": 8 }, "end": { "line": 107, "column": 29 } }, "id": { "type": "Identifier", "start": 2273, "end": 2279, "loc": { "start": { "line": 107, "column": 8 }, "end": { "line": 107, "column": 14 }, "identifierName": "coords" }, "name": "coords" }, "init": { "type": "MemberExpression", "start": 2282, "end": 2294, "loc": { "start": { "line": 107, "column": 17 }, "end": { "line": 107, "column": 29 } }, "object": { "type": "ThisExpression", "start": 2282, "end": 2286, "loc": { "start": { "line": 107, "column": 17 }, "end": { "line": 107, "column": 21 } } }, "property": { "type": "Identifier", "start": 2287, "end": 2294, "loc": { "start": { "line": 107, "column": 22 }, "end": { "line": 107, "column": 29 }, "identifierName": "_coords" }, "name": "_coords" }, "computed": false } } ], "kind": "const" }, { "type": "IfStatement", "start": 2299, "end": 2654, "loc": { "start": { "line": 109, "column": 2 }, "end": { "line": 123, "column": 3 } }, "test": { "type": "BinaryExpression", "start": 2302, "end": 2321, "loc": { "start": { "line": 109, "column": 5 }, "end": { "line": 109, "column": 24 } }, "left": { "type": "MemberExpression", "start": 2302, "end": 2315, "loc": { "start": { "line": 109, "column": 5 }, "end": { "line": 109, "column": 18 } }, "object": { "type": "Identifier", "start": 2302, "end": 2308, "loc": { "start": { "line": 109, "column": 5 }, "end": { "line": 109, "column": 11 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "Identifier", "start": 2309, "end": 2315, "loc": { "start": { "line": 109, "column": 12 }, "end": { "line": 109, "column": 18 }, "identifierName": "length" }, "name": "length" }, "computed": false }, "operator": "===", "right": { "type": "NumericLiteral", "start": 2320, "end": 2321, "loc": { "start": { "line": 109, "column": 23 }, "end": { "line": 109, "column": 24 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, "consequent": { "type": "BlockStatement", "start": 2323, "end": 2426, "loc": { "start": { "line": 109, "column": 26 }, "end": { "line": 112, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 2328, "end": 2365, "loc": { "start": { "line": 110, "column": 3 }, "end": { "line": 110, "column": 40 } }, "expression": { "type": "CallExpression", "start": 2328, "end": 2364, "loc": { "start": { "line": 110, "column": 3 }, "end": { "line": 110, "column": 39 } }, "callee": { "type": "MemberExpression", "start": 2328, "end": 2342, "loc": { "start": { "line": 110, "column": 3 }, "end": { "line": 110, "column": 17 } }, "object": { "type": "Identifier", "start": 2328, "end": 2335, "loc": { "start": { "line": 110, "column": 3 }, "end": { "line": 110, "column": 10 }, "identifierName": "context" }, "name": "context" }, "property": { "type": "Identifier", "start": 2336, "end": 2342, "loc": { "start": { "line": 110, "column": 11 }, "end": { "line": 110, "column": 17 }, "identifierName": "moveTo" }, "name": "moveTo" }, "computed": false }, "arguments": [ { "type": "MemberExpression", "start": 2343, "end": 2352, "loc": { "start": { "line": 110, "column": 18 }, "end": { "line": 110, "column": 27 } }, "object": { "type": "Identifier", "start": 2343, "end": 2349, "loc": { "start": { "line": 110, "column": 18 }, "end": { "line": 110, "column": 24 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "NumericLiteral", "start": 2350, "end": 2351, "loc": { "start": { "line": 110, "column": 25 }, "end": { "line": 110, "column": 26 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "computed": true }, { "type": "MemberExpression", "start": 2354, "end": 2363, "loc": { "start": { "line": 110, "column": 29 }, "end": { "line": 110, "column": 38 } }, "object": { "type": "Identifier", "start": 2354, "end": 2360, "loc": { "start": { "line": 110, "column": 29 }, "end": { "line": 110, "column": 35 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "NumericLiteral", "start": 2361, "end": 2362, "loc": { "start": { "line": 110, "column": 36 }, "end": { "line": 110, "column": 37 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, "computed": true } ] } }, { "type": "ExpressionStatement", "start": 2369, "end": 2422, "loc": { "start": { "line": 111, "column": 3 }, "end": { "line": 111, "column": 56 } }, "expression": { "type": "CallExpression", "start": 2369, "end": 2421, "loc": { "start": { "line": 111, "column": 3 }, "end": { "line": 111, "column": 55 } }, "callee": { "type": "MemberExpression", "start": 2369, "end": 2380, "loc": { "start": { "line": 111, "column": 3 }, "end": { "line": 111, "column": 14 } }, "object": { "type": "Identifier", "start": 2369, "end": 2376, "loc": { "start": { "line": 111, "column": 3 }, "end": { "line": 111, "column": 10 }, "identifierName": "context" }, "name": "context" }, "property": { "type": "Identifier", "start": 2377, "end": 2380, "loc": { "start": { "line": 111, "column": 11 }, "end": { "line": 111, "column": 14 }, "identifierName": "arc" }, "name": "arc" }, "computed": false }, "arguments": [ { "type": "MemberExpression", "start": 2381, "end": 2390, "loc": { "start": { "line": 111, "column": 15 }, "end": { "line": 111, "column": 24 } }, "object": { "type": "Identifier", "start": 2381, "end": 2387, "loc": { "start": { "line": 111, "column": 15 }, "end": { "line": 111, "column": 21 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "NumericLiteral", "start": 2388, "end": 2389, "loc": { "start": { "line": 111, "column": 22 }, "end": { "line": 111, "column": 23 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "computed": true }, { "type": "MemberExpression", "start": 2392, "end": 2401, "loc": { "start": { "line": 111, "column": 26 }, "end": { "line": 111, "column": 35 } }, "object": { "type": "Identifier", "start": 2392, "end": 2398, "loc": { "start": { "line": 111, "column": 26 }, "end": { "line": 111, "column": 32 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "NumericLiteral", "start": 2399, "end": 2400, "loc": { "start": { "line": 111, "column": 33 }, "end": { "line": 111, "column": 34 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, "computed": true }, { "type": "NumericLiteral", "start": 2403, "end": 2404, "loc": { "start": { "line": 111, "column": 37 }, "end": { "line": 111, "column": 38 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, { "type": "NumericLiteral", "start": 2406, "end": 2407, "loc": { "start": { "line": 111, "column": 40 }, "end": { "line": 111, "column": 41 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, { "type": "BinaryExpression", "start": 2409, "end": 2420, "loc": { "start": { "line": 111, "column": 43 }, "end": { "line": 111, "column": 54 } }, "left": { "type": "MemberExpression", "start": 2409, "end": 2416, "loc": { "start": { "line": 111, "column": 43 }, "end": { "line": 111, "column": 50 } }, "object": { "type": "Identifier", "start": 2409, "end": 2413, "loc": { "start": { "line": 111, "column": 43 }, "end": { "line": 111, "column": 47 }, "identifierName": "Math" }, "name": "Math" }, "property": { "type": "Identifier", "start": 2414, "end": 2416, "loc": { "start": { "line": 111, "column": 48 }, "end": { "line": 111, "column": 50 }, "identifierName": "PI" }, "name": "PI" }, "computed": false }, "operator": "*", "right": { "type": "NumericLiteral", "start": 2419, "end": 2420, "loc": { "start": { "line": 111, "column": 53 }, "end": { "line": 111, "column": 54 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } } ] } } ], "directives": [] }, "alternate": { "type": "BlockStatement", "start": 2434, "end": 2654, "loc": { "start": { "line": 113, "column": 7 }, "end": { "line": 123, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 2439, "end": 2476, "loc": { "start": { "line": 114, "column": 3 }, "end": { "line": 114, "column": 40 } }, "expression": { "type": "CallExpression", "start": 2439, "end": 2475, "loc": { "start": { "line": 114, "column": 3 }, "end": { "line": 114, "column": 39 } }, "callee": { "type": "MemberExpression", "start": 2439, "end": 2453, "loc": { "start": { "line": 114, "column": 3 }, "end": { "line": 114, "column": 17 } }, "object": { "type": "Identifier", "start": 2439, "end": 2446, "loc": { "start": { "line": 114, "column": 3 }, "end": { "line": 114, "column": 10 }, "identifierName": "context" }, "name": "context" }, "property": { "type": "Identifier", "start": 2447, "end": 2453, "loc": { "start": { "line": 114, "column": 11 }, "end": { "line": 114, "column": 17 }, "identifierName": "moveTo" }, "name": "moveTo" }, "computed": false }, "arguments": [ { "type": "MemberExpression", "start": 2454, "end": 2463, "loc": { "start": { "line": 114, "column": 18 }, "end": { "line": 114, "column": 27 } }, "object": { "type": "Identifier", "start": 2454, "end": 2460, "loc": { "start": { "line": 114, "column": 18 }, "end": { "line": 114, "column": 24 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "NumericLiteral", "start": 2461, "end": 2462, "loc": { "start": { "line": 114, "column": 25 }, "end": { "line": 114, "column": 26 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "computed": true }, { "type": "MemberExpression", "start": 2465, "end": 2474, "loc": { "start": { "line": 114, "column": 29 }, "end": { "line": 114, "column": 38 } }, "object": { "type": "Identifier", "start": 2465, "end": 2471, "loc": { "start": { "line": 114, "column": 29 }, "end": { "line": 114, "column": 35 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "NumericLiteral", "start": 2472, "end": 2473, "loc": { "start": { "line": 114, "column": 36 }, "end": { "line": 114, "column": 37 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, "computed": true } ] } }, { "type": "ForStatement", "start": 2481, "end": 2575, "loc": { "start": { "line": 116, "column": 3 }, "end": { "line": 118, "column": 4 } }, "init": { "type": "VariableDeclaration", "start": 2485, "end": 2494, "loc": { "start": { "line": 116, "column": 7 }, "end": { "line": 116, "column": 16 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2489, "end": 2494, "loc": { "start": { "line": 116, "column": 11 }, "end": { "line": 116, "column": 16 } }, "id": { "type": "Identifier", "start": 2489, "end": 2490, "loc": { "start": { "line": 116, "column": 11 }, "end": { "line": 116, "column": 12 }, "identifierName": "i" }, "name": "i" }, "init": { "type": "NumericLiteral", "start": 2493, "end": 2494, "loc": { "start": { "line": 116, "column": 15 }, "end": { "line": 116, "column": 16 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } } ], "kind": "let" }, "test": { "type": "BinaryExpression", "start": 2496, "end": 2513, "loc": { "start": { "line": 116, "column": 18 }, "end": { "line": 116, "column": 35 } }, "left": { "type": "Identifier", "start": 2496, "end": 2497, "loc": { "start": { "line": 116, "column": 18 }, "end": { "line": 116, "column": 19 }, "identifierName": "i" }, "name": "i" }, "operator": "<", "right": { "type": "MemberExpression", "start": 2500, "end": 2513, "loc": { "start": { "line": 116, "column": 22 }, "end": { "line": 116, "column": 35 } }, "object": { "type": "Identifier", "start": 2500, "end": 2506, "loc": { "start": { "line": 116, "column": 22 }, "end": { "line": 116, "column": 28 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "Identifier", "start": 2507, "end": 2513, "loc": { "start": { "line": 116, "column": 29 }, "end": { "line": 116, "column": 35 }, "identifierName": "length" }, "name": "length" }, "computed": false } }, "update": { "type": "AssignmentExpression", "start": 2515, "end": 2521, "loc": { "start": { "line": 116, "column": 37 }, "end": { "line": 116, "column": 43 } }, "operator": "+=", "left": { "type": "Identifier", "start": 2515, "end": 2516, "loc": { "start": { "line": 116, "column": 37 }, "end": { "line": 116, "column": 38 }, "identifierName": "i" }, "name": "i" }, "right": { "type": "NumericLiteral", "start": 2520, "end": 2521, "loc": { "start": { "line": 116, "column": 42 }, "end": { "line": 116, "column": 43 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, "body": { "type": "BlockStatement", "start": 2523, "end": 2575, "loc": { "start": { "line": 116, "column": 45 }, "end": { "line": 118, "column": 4 } }, "body": [ { "type": "ExpressionStatement", "start": 2529, "end": 2570, "loc": { "start": { "line": 117, "column": 4 }, "end": { "line": 117, "column": 45 } }, "expression": { "type": "CallExpression", "start": 2529, "end": 2569, "loc": { "start": { "line": 117, "column": 4 }, "end": { "line": 117, "column": 44 } }, "callee": { "type": "MemberExpression", "start": 2529, "end": 2543, "loc": { "start": { "line": 117, "column": 4 }, "end": { "line": 117, "column": 18 } }, "object": { "type": "Identifier", "start": 2529, "end": 2536, "loc": { "start": { "line": 117, "column": 4 }, "end": { "line": 117, "column": 11 }, "identifierName": "context" }, "name": "context" }, "property": { "type": "Identifier", "start": 2537, "end": 2543, "loc": { "start": { "line": 117, "column": 12 }, "end": { "line": 117, "column": 18 }, "identifierName": "lineTo" }, "name": "lineTo" }, "computed": false }, "arguments": [ { "type": "MemberExpression", "start": 2544, "end": 2553, "loc": { "start": { "line": 117, "column": 19 }, "end": { "line": 117, "column": 28 } }, "object": { "type": "Identifier", "start": 2544, "end": 2550, "loc": { "start": { "line": 117, "column": 19 }, "end": { "line": 117, "column": 25 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "Identifier", "start": 2551, "end": 2552, "loc": { "start": { "line": 117, "column": 26 }, "end": { "line": 117, "column": 27 }, "identifierName": "i" }, "name": "i" }, "computed": true }, { "type": "MemberExpression", "start": 2555, "end": 2568, "loc": { "start": { "line": 117, "column": 30 }, "end": { "line": 117, "column": 43 } }, "object": { "type": "Identifier", "start": 2555, "end": 2561, "loc": { "start": { "line": 117, "column": 30 }, "end": { "line": 117, "column": 36 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "BinaryExpression", "start": 2562, "end": 2567, "loc": { "start": { "line": 117, "column": 37 }, "end": { "line": 117, "column": 42 } }, "left": { "type": "Identifier", "start": 2562, "end": 2563, "loc": { "start": { "line": 117, "column": 37 }, "end": { "line": 117, "column": 38 }, "identifierName": "i" }, "name": "i" }, "operator": "+", "right": { "type": "NumericLiteral", "start": 2566, "end": 2567, "loc": { "start": { "line": 117, "column": 41 }, "end": { "line": 117, "column": 42 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } }, "computed": true } ] } } ], "directives": [] } }, { "type": "IfStatement", "start": 2580, "end": 2650, "loc": { "start": { "line": 120, "column": 3 }, "end": { "line": 122, "column": 4 } }, "test": { "type": "BinaryExpression", "start": 2583, "end": 2600, "loc": { "start": { "line": 120, "column": 6 }, "end": { "line": 120, "column": 23 } }, "left": { "type": "MemberExpression", "start": 2583, "end": 2596, "loc": { "start": { "line": 120, "column": 6 }, "end": { "line": 120, "column": 19 } }, "object": { "type": "Identifier", "start": 2583, "end": 2589, "loc": { "start": { "line": 120, "column": 6 }, "end": { "line": 120, "column": 12 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "Identifier", "start": 2590, "end": 2596, "loc": { "start": { "line": 120, "column": 13 }, "end": { "line": 120, "column": 19 }, "identifierName": "length" }, "name": "length" }, "computed": false }, "operator": ">", "right": { "type": "NumericLiteral", "start": 2599, "end": 2600, "loc": { "start": { "line": 120, "column": 22 }, "end": { "line": 120, "column": 23 } }, "extra": { "rawValue": 4, "raw": "4" }, "value": 4 } }, "consequent": { "type": "BlockStatement", "start": 2602, "end": 2650, "loc": { "start": { "line": 120, "column": 25 }, "end": { "line": 122, "column": 4 } }, "body": [ { "type": "ExpressionStatement", "start": 2608, "end": 2645, "loc": { "start": { "line": 121, "column": 4 }, "end": { "line": 121, "column": 41 } }, "expression": { "type": "CallExpression", "start": 2608, "end": 2644, "loc": { "start": { "line": 121, "column": 4 }, "end": { "line": 121, "column": 40 } }, "callee": { "type": "MemberExpression", "start": 2608, "end": 2622, "loc": { "start": { "line": 121, "column": 4 }, "end": { "line": 121, "column": 18 } }, "object": { "type": "Identifier", "start": 2608, "end": 2615, "loc": { "start": { "line": 121, "column": 4 }, "end": { "line": 121, "column": 11 }, "identifierName": "context" }, "name": "context" }, "property": { "type": "Identifier", "start": 2616, "end": 2622, "loc": { "start": { "line": 121, "column": 12 }, "end": { "line": 121, "column": 18 }, "identifierName": "lineTo" }, "name": "lineTo" }, "computed": false }, "arguments": [ { "type": "MemberExpression", "start": 2623, "end": 2632, "loc": { "start": { "line": 121, "column": 19 }, "end": { "line": 121, "column": 28 } }, "object": { "type": "Identifier", "start": 2623, "end": 2629, "loc": { "start": { "line": 121, "column": 19 }, "end": { "line": 121, "column": 25 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "NumericLiteral", "start": 2630, "end": 2631, "loc": { "start": { "line": 121, "column": 26 }, "end": { "line": 121, "column": 27 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "computed": true }, { "type": "MemberExpression", "start": 2634, "end": 2643, "loc": { "start": { "line": 121, "column": 30 }, "end": { "line": 121, "column": 39 } }, "object": { "type": "Identifier", "start": 2634, "end": 2640, "loc": { "start": { "line": 121, "column": 30 }, "end": { "line": 121, "column": 36 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "NumericLiteral", "start": 2641, "end": 2642, "loc": { "start": { "line": 121, "column": 37 }, "end": { "line": 121, "column": 38 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, "computed": true } ] } } ], "directives": [] }, "alternate": null } ], "directives": [] } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Draws the polygon to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to add the shape to\n\t ", "start": 1856, "end": 2009, "loc": { "start": { "line": 91, "column": 1 }, "end": { "line": 94, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated.\n\t * @param {Array} new_points An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t ", "start": 2660, "end": 2941, "loc": { "start": { "line": 126, "column": 1 }, "end": { "line": 129, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 2943, "end": 3426, "loc": { "start": { "line": 130, "column": 1 }, "end": { "line": 148, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 2943, "end": 2952, "loc": { "start": { "line": 130, "column": 1 }, "end": { "line": 130, "column": 10 }, "identifierName": "setPoints" }, "name": "setPoints", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 2953, "end": 2963, "loc": { "start": { "line": 130, "column": 11 }, "end": { "line": 130, "column": 21 }, "identifierName": "new_points" }, "name": "new_points" } ], "body": { "type": "BlockStatement", "start": 2965, "end": 3426, "loc": { "start": { "line": 130, "column": 23 }, "end": { "line": 148, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 2969, "end": 3001, "loc": { "start": { "line": 131, "column": 2 }, "end": { "line": 131, "column": 34 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2975, "end": 3000, "loc": { "start": { "line": 131, "column": 8 }, "end": { "line": 131, "column": 33 } }, "id": { "type": "Identifier", "start": 2975, "end": 2980, "loc": { "start": { "line": 131, "column": 8 }, "end": { "line": 131, "column": 13 }, "identifierName": "count" }, "name": "count" }, "init": { "type": "MemberExpression", "start": 2983, "end": 3000, "loc": { "start": { "line": 131, "column": 16 }, "end": { "line": 131, "column": 33 } }, "object": { "type": "Identifier", "start": 2983, "end": 2993, "loc": { "start": { "line": 131, "column": 16 }, "end": { "line": 131, "column": 26 }, "identifierName": "new_points" }, "name": "new_points" }, "property": { "type": "Identifier", "start": 2994, "end": 3000, "loc": { "start": { "line": 131, "column": 27 }, "end": { "line": 131, "column": 33 }, "identifierName": "length" }, "name": "length" }, "computed": false } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 3005, "end": 3049, "loc": { "start": { "line": 133, "column": 2 }, "end": { "line": 133, "column": 46 } }, "expression": { "type": "AssignmentExpression", "start": 3005, "end": 3048, "loc": { "start": { "line": 133, "column": 2 }, "end": { "line": 133, "column": 45 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 3005, "end": 3017, "loc": { "start": { "line": 133, "column": 2 }, "end": { "line": 133, "column": 14 } }, "object": { "type": "ThisExpression", "start": 3005, "end": 3009, "loc": { "start": { "line": 133, "column": 2 }, "end": { "line": 133, "column": 6 } } }, "property": { "type": "Identifier", "start": 3010, "end": 3017, "loc": { "start": { "line": 133, "column": 7 }, "end": { "line": 133, "column": 14 }, "identifierName": "_points" }, "name": "_points" }, "computed": false }, "right": { "type": "NewExpression", "start": 3021, "end": 3048, "loc": { "start": { "line": 133, "column": 18 }, "end": { "line": 133, "column": 45 } }, "callee": { "type": "Identifier", "start": 3025, "end": 3037, "loc": { "start": { "line": 133, "column": 22 }, "end": { "line": 133, "column": 34 }, "identifierName": "Float64Array" }, "name": "Float64Array" }, "arguments": [ { "type": "BinaryExpression", "start": 3038, "end": 3047, "loc": { "start": { "line": 133, "column": 35 }, "end": { "line": 133, "column": 44 } }, "left": { "type": "Identifier", "start": 3038, "end": 3043, "loc": { "start": { "line": 133, "column": 35 }, "end": { "line": 133, "column": 40 }, "identifierName": "count" }, "name": "count" }, "operator": "*", "right": { "type": "NumericLiteral", "start": 3046, "end": 3047, "loc": { "start": { "line": 133, "column": 43 }, "end": { "line": 133, "column": 44 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } } ] } } }, { "type": "ExpressionStatement", "start": 3052, "end": 3096, "loc": { "start": { "line": 134, "column": 2 }, "end": { "line": 134, "column": 46 } }, "expression": { "type": "AssignmentExpression", "start": 3052, "end": 3095, "loc": { "start": { "line": 134, "column": 2 }, "end": { "line": 134, "column": 45 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 3052, "end": 3064, "loc": { "start": { "line": 134, "column": 2 }, "end": { "line": 134, "column": 14 } }, "object": { "type": "ThisExpression", "start": 3052, "end": 3056, "loc": { "start": { "line": 134, "column": 2 }, "end": { "line": 134, "column": 6 } } }, "property": { "type": "Identifier", "start": 3057, "end": 3064, "loc": { "start": { "line": 134, "column": 7 }, "end": { "line": 134, "column": 14 }, "identifierName": "_coords" }, "name": "_coords" }, "computed": false }, "right": { "type": "NewExpression", "start": 3068, "end": 3095, "loc": { "start": { "line": 134, "column": 18 }, "end": { "line": 134, "column": 45 } }, "callee": { "type": "Identifier", "start": 3072, "end": 3084, "loc": { "start": { "line": 134, "column": 22 }, "end": { "line": 134, "column": 34 }, "identifierName": "Float64Array" }, "name": "Float64Array" }, "arguments": [ { "type": "BinaryExpression", "start": 3085, "end": 3094, "loc": { "start": { "line": 134, "column": 35 }, "end": { "line": 134, "column": 44 } }, "left": { "type": "Identifier", "start": 3085, "end": 3090, "loc": { "start": { "line": 134, "column": 35 }, "end": { "line": 134, "column": 40 }, "identifierName": "count" }, "name": "count" }, "operator": "*", "right": { "type": "NumericLiteral", "start": 3093, "end": 3094, "loc": { "start": { "line": 134, "column": 43 }, "end": { "line": 134, "column": 44 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } } ] } } }, { "type": "ExpressionStatement", "start": 3099, "end": 3143, "loc": { "start": { "line": 135, "column": 2 }, "end": { "line": 135, "column": 46 } }, "expression": { "type": "AssignmentExpression", "start": 3099, "end": 3142, "loc": { "start": { "line": 135, "column": 2 }, "end": { "line": 135, "column": 45 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 3099, "end": 3110, "loc": { "start": { "line": 135, "column": 2 }, "end": { "line": 135, "column": 13 } }, "object": { "type": "ThisExpression", "start": 3099, "end": 3103, "loc": { "start": { "line": 135, "column": 2 }, "end": { "line": 135, "column": 6 } } }, "property": { "type": "Identifier", "start": 3104, "end": 3110, "loc": { "start": { "line": 135, "column": 7 }, "end": { "line": 135, "column": 13 }, "identifierName": "_edges" }, "name": "_edges" }, "computed": false }, "right": { "type": "NewExpression", "start": 3115, "end": 3142, "loc": { "start": { "line": 135, "column": 18 }, "end": { "line": 135, "column": 45 } }, "callee": { "type": "Identifier", "start": 3119, "end": 3131, "loc": { "start": { "line": 135, "column": 22 }, "end": { "line": 135, "column": 34 }, "identifierName": "Float64Array" }, "name": "Float64Array" }, "arguments": [ { "type": "BinaryExpression", "start": 3132, "end": 3141, "loc": { "start": { "line": 135, "column": 35 }, "end": { "line": 135, "column": 44 } }, "left": { "type": "Identifier", "start": 3132, "end": 3137, "loc": { "start": { "line": 135, "column": 35 }, "end": { "line": 135, "column": 40 }, "identifierName": "count" }, "name": "count" }, "operator": "*", "right": { "type": "NumericLiteral", "start": 3140, "end": 3141, "loc": { "start": { "line": 135, "column": 43 }, "end": { "line": 135, "column": 44 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } } ] } } }, { "type": "ExpressionStatement", "start": 3146, "end": 3190, "loc": { "start": { "line": 136, "column": 2 }, "end": { "line": 136, "column": 46 } }, "expression": { "type": "AssignmentExpression", "start": 3146, "end": 3189, "loc": { "start": { "line": 136, "column": 2 }, "end": { "line": 136, "column": 45 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 3146, "end": 3159, "loc": { "start": { "line": 136, "column": 2 }, "end": { "line": 136, "column": 15 } }, "object": { "type": "ThisExpression", "start": 3146, "end": 3150, "loc": { "start": { "line": 136, "column": 2 }, "end": { "line": 136, "column": 6 } } }, "property": { "type": "Identifier", "start": 3151, "end": 3159, "loc": { "start": { "line": 136, "column": 7 }, "end": { "line": 136, "column": 15 }, "identifierName": "_normals" }, "name": "_normals" }, "computed": false }, "right": { "type": "NewExpression", "start": 3162, "end": 3189, "loc": { "start": { "line": 136, "column": 18 }, "end": { "line": 136, "column": 45 } }, "callee": { "type": "Identifier", "start": 3166, "end": 3178, "loc": { "start": { "line": 136, "column": 22 }, "end": { "line": 136, "column": 34 }, "identifierName": "Float64Array" }, "name": "Float64Array" }, "arguments": [ { "type": "BinaryExpression", "start": 3179, "end": 3188, "loc": { "start": { "line": 136, "column": 35 }, "end": { "line": 136, "column": 44 } }, "left": { "type": "Identifier", "start": 3179, "end": 3184, "loc": { "start": { "line": 136, "column": 35 }, "end": { "line": 136, "column": 40 }, "identifierName": "count" }, "name": "count" }, "operator": "*", "right": { "type": "NumericLiteral", "start": 3187, "end": 3188, "loc": { "start": { "line": 136, "column": 43 }, "end": { "line": 136, "column": 44 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } } ] } } }, { "type": "VariableDeclaration", "start": 3194, "end": 3222, "loc": { "start": { "line": 138, "column": 2 }, "end": { "line": 138, "column": 30 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3200, "end": 3221, "loc": { "start": { "line": 138, "column": 8 }, "end": { "line": 138, "column": 29 } }, "id": { "type": "Identifier", "start": 3200, "end": 3206, "loc": { "start": { "line": 138, "column": 8 }, "end": { "line": 138, "column": 14 }, "identifierName": "points" }, "name": "points" }, "init": { "type": "MemberExpression", "start": 3209, "end": 3221, "loc": { "start": { "line": 138, "column": 17 }, "end": { "line": 138, "column": 29 } }, "object": { "type": "ThisExpression", "start": 3209, "end": 3213, "loc": { "start": { "line": 138, "column": 17 }, "end": { "line": 138, "column": 21 } } }, "property": { "type": "Identifier", "start": 3214, "end": 3221, "loc": { "start": { "line": 138, "column": 22 }, "end": { "line": 138, "column": 29 }, "identifierName": "_points" }, "name": "_points" }, "computed": false } } ], "kind": "const" }, { "type": "ForStatement", "start": 3226, "end": 3393, "loc": { "start": { "line": 140, "column": 2 }, "end": { "line": 145, "column": 3 } }, "init": { "type": "VariableDeclaration", "start": 3230, "end": 3255, "loc": { "start": { "line": 140, "column": 6 }, "end": { "line": 140, "column": 31 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3234, "end": 3239, "loc": { "start": { "line": 140, "column": 10 }, "end": { "line": 140, "column": 15 } }, "id": { "type": "Identifier", "start": 3234, "end": 3235, "loc": { "start": { "line": 140, "column": 10 }, "end": { "line": 140, "column": 11 }, "identifierName": "i" }, "name": "i" }, "init": { "type": "NumericLiteral", "start": 3238, "end": 3239, "loc": { "start": { "line": 140, "column": 14 }, "end": { "line": 140, "column": 15 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "VariableDeclarator", "start": 3241, "end": 3247, "loc": { "start": { "line": 140, "column": 17 }, "end": { "line": 140, "column": 23 } }, "id": { "type": "Identifier", "start": 3241, "end": 3243, "loc": { "start": { "line": 140, "column": 17 }, "end": { "line": 140, "column": 19 }, "identifierName": "ix" }, "name": "ix" }, "init": { "type": "NumericLiteral", "start": 3246, "end": 3247, "loc": { "start": { "line": 140, "column": 22 }, "end": { "line": 140, "column": 23 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "VariableDeclarator", "start": 3249, "end": 3255, "loc": { "start": { "line": 140, "column": 25 }, "end": { "line": 140, "column": 31 } }, "id": { "type": "Identifier", "start": 3249, "end": 3251, "loc": { "start": { "line": 140, "column": 25 }, "end": { "line": 140, "column": 27 }, "identifierName": "iy" }, "name": "iy" }, "init": { "type": "NumericLiteral", "start": 3254, "end": 3255, "loc": { "start": { "line": 140, "column": 30 }, "end": { "line": 140, "column": 31 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } } ], "kind": "let" }, "test": { "type": "BinaryExpression", "start": 3257, "end": 3266, "loc": { "start": { "line": 140, "column": 33 }, "end": { "line": 140, "column": 42 } }, "left": { "type": "Identifier", "start": 3257, "end": 3258, "loc": { "start": { "line": 140, "column": 33 }, "end": { "line": 140, "column": 34 }, "identifierName": "i" }, "name": "i" }, "operator": "<", "right": { "type": "Identifier", "start": 3261, "end": 3266, "loc": { "start": { "line": 140, "column": 37 }, "end": { "line": 140, "column": 42 }, "identifierName": "count" }, "name": "count" } }, "update": { "type": "SequenceExpression", "start": 3268, "end": 3289, "loc": { "start": { "line": 140, "column": 44 }, "end": { "line": 140, "column": 65 } }, "expressions": [ { "type": "UpdateExpression", "start": 3268, "end": 3271, "loc": { "start": { "line": 140, "column": 44 }, "end": { "line": 140, "column": 47 } }, "operator": "++", "prefix": true, "argument": { "type": "Identifier", "start": 3270, "end": 3271, "loc": { "start": { "line": 140, "column": 46 }, "end": { "line": 140, "column": 47 }, "identifierName": "i" }, "name": "i" }, "extra": { "parenthesizedArgument": false } }, { "type": "AssignmentExpression", "start": 3273, "end": 3280, "loc": { "start": { "line": 140, "column": 49 }, "end": { "line": 140, "column": 56 } }, "operator": "+=", "left": { "type": "Identifier", "start": 3273, "end": 3275, "loc": { "start": { "line": 140, "column": 49 }, "end": { "line": 140, "column": 51 }, "identifierName": "ix" }, "name": "ix" }, "right": { "type": "NumericLiteral", "start": 3279, "end": 3280, "loc": { "start": { "line": 140, "column": 55 }, "end": { "line": 140, "column": 56 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, { "type": "AssignmentExpression", "start": 3282, "end": 3289, "loc": { "start": { "line": 140, "column": 58 }, "end": { "line": 140, "column": 65 } }, "operator": "+=", "left": { "type": "Identifier", "start": 3282, "end": 3284, "loc": { "start": { "line": 140, "column": 58 }, "end": { "line": 140, "column": 60 }, "identifierName": "iy" }, "name": "iy" }, "right": { "type": "NumericLiteral", "start": 3288, "end": 3289, "loc": { "start": { "line": 140, "column": 64 }, "end": { "line": 140, "column": 65 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } } ] }, "body": { "type": "BlockStatement", "start": 3291, "end": 3393, "loc": { "start": { "line": 140, "column": 67 }, "end": { "line": 145, "column": 3 } }, "body": [ { "type": "VariableDeclaration", "start": 3296, "end": 3328, "loc": { "start": { "line": 141, "column": 3 }, "end": { "line": 141, "column": 35 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3302, "end": 3327, "loc": { "start": { "line": 141, "column": 9 }, "end": { "line": 141, "column": 34 } }, "id": { "type": "Identifier", "start": 3302, "end": 3311, "loc": { "start": { "line": 141, "column": 9 }, "end": { "line": 141, "column": 18 }, "identifierName": "new_point" }, "name": "new_point" }, "init": { "type": "MemberExpression", "start": 3314, "end": 3327, "loc": { "start": { "line": 141, "column": 21 }, "end": { "line": 141, "column": 34 } }, "object": { "type": "Identifier", "start": 3314, "end": 3324, "loc": { "start": { "line": 141, "column": 21 }, "end": { "line": 141, "column": 31 }, "identifierName": "new_points" }, "name": "new_points" }, "property": { "type": "Identifier", "start": 3325, "end": 3326, "loc": { "start": { "line": 141, "column": 32 }, "end": { "line": 141, "column": 33 }, "identifierName": "i" }, "name": "i" }, "computed": true } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 3333, "end": 3359, "loc": { "start": { "line": 143, "column": 3 }, "end": { "line": 143, "column": 29 } }, "expression": { "type": "AssignmentExpression", "start": 3333, "end": 3358, "loc": { "start": { "line": 143, "column": 3 }, "end": { "line": 143, "column": 28 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 3333, "end": 3343, "loc": { "start": { "line": 143, "column": 3 }, "end": { "line": 143, "column": 13 } }, "object": { "type": "Identifier", "start": 3333, "end": 3339, "loc": { "start": { "line": 143, "column": 3 }, "end": { "line": 143, "column": 9 }, "identifierName": "points" }, "name": "points" }, "property": { "type": "Identifier", "start": 3340, "end": 3342, "loc": { "start": { "line": 143, "column": 10 }, "end": { "line": 143, "column": 12 }, "identifierName": "ix" }, "name": "ix" }, "computed": true }, "right": { "type": "MemberExpression", "start": 3346, "end": 3358, "loc": { "start": { "line": 143, "column": 16 }, "end": { "line": 143, "column": 28 } }, "object": { "type": "Identifier", "start": 3346, "end": 3355, "loc": { "start": { "line": 143, "column": 16 }, "end": { "line": 143, "column": 25 }, "identifierName": "new_point" }, "name": "new_point" }, "property": { "type": "NumericLiteral", "start": 3356, "end": 3357, "loc": { "start": { "line": 143, "column": 26 }, "end": { "line": 143, "column": 27 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "computed": true } } }, { "type": "ExpressionStatement", "start": 3363, "end": 3389, "loc": { "start": { "line": 144, "column": 3 }, "end": { "line": 144, "column": 29 } }, "expression": { "type": "AssignmentExpression", "start": 3363, "end": 3388, "loc": { "start": { "line": 144, "column": 3 }, "end": { "line": 144, "column": 28 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 3363, "end": 3373, "loc": { "start": { "line": 144, "column": 3 }, "end": { "line": 144, "column": 13 } }, "object": { "type": "Identifier", "start": 3363, "end": 3369, "loc": { "start": { "line": 144, "column": 3 }, "end": { "line": 144, "column": 9 }, "identifierName": "points" }, "name": "points" }, "property": { "type": "Identifier", "start": 3370, "end": 3372, "loc": { "start": { "line": 144, "column": 10 }, "end": { "line": 144, "column": 12 }, "identifierName": "iy" }, "name": "iy" }, "computed": true }, "right": { "type": "MemberExpression", "start": 3376, "end": 3388, "loc": { "start": { "line": 144, "column": 16 }, "end": { "line": 144, "column": 28 } }, "object": { "type": "Identifier", "start": 3376, "end": 3385, "loc": { "start": { "line": 144, "column": 16 }, "end": { "line": 144, "column": 25 }, "identifierName": "new_point" }, "name": "new_point" }, "property": { "type": "NumericLiteral", "start": 3386, "end": 3387, "loc": { "start": { "line": 144, "column": 26 }, "end": { "line": 144, "column": 27 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, "computed": true } } } ], "directives": [] } }, { "type": "ExpressionStatement", "start": 3397, "end": 3423, "loc": { "start": { "line": 147, "column": 2 }, "end": { "line": 147, "column": 28 } }, "expression": { "type": "AssignmentExpression", "start": 3397, "end": 3422, "loc": { "start": { "line": 147, "column": 2 }, "end": { "line": 147, "column": 27 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 3397, "end": 3415, "loc": { "start": { "line": 147, "column": 2 }, "end": { "line": 147, "column": 20 } }, "object": { "type": "ThisExpression", "start": 3397, "end": 3401, "loc": { "start": { "line": 147, "column": 2 }, "end": { "line": 147, "column": 6 } } }, "property": { "type": "Identifier", "start": 3402, "end": 3415, "loc": { "start": { "line": 147, "column": 7 }, "end": { "line": 147, "column": 20 }, "identifierName": "_dirty_coords" }, "name": "_dirty_coords" }, "computed": false }, "right": { "type": "BooleanLiteral", "start": 3418, "end": 3422, "loc": { "start": { "line": 147, "column": 23 }, "end": { "line": 147, "column": 27 } }, "value": true } } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated.\n\t * @param {Array} new_points An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t ", "start": 2660, "end": 2941, "loc": { "start": { "line": 126, "column": 1 }, "end": { "line": 129, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Calculates and caches the polygon's world coordinates based on its points, angle, and scale\n\t ", "start": 3429, "end": 3533, "loc": { "start": { "line": 150, "column": 1 }, "end": { "line": 152, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 3535, "end": 4970, "loc": { "start": { "line": 153, "column": 1 }, "end": { "line": 220, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 3535, "end": 3551, "loc": { "start": { "line": 153, "column": 1 }, "end": { "line": 153, "column": 17 }, "identifierName": "_calculateCoords" }, "name": "_calculateCoords", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 3554, "end": 4970, "loc": { "start": { "line": 153, "column": 20 }, "end": { "line": 220, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 3558, "end": 3581, "loc": { "start": { "line": 154, "column": 2 }, "end": { "line": 154, "column": 25 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3564, "end": 3580, "loc": { "start": { "line": 154, "column": 8 }, "end": { "line": 154, "column": 24 } }, "id": { "type": "Identifier", "start": 3564, "end": 3565, "loc": { "start": { "line": 154, "column": 8 }, "end": { "line": 154, "column": 9 }, "identifierName": "x" }, "name": "x" }, "init": { "type": "MemberExpression", "start": 3574, "end": 3580, "loc": { "start": { "line": 154, "column": 18 }, "end": { "line": 154, "column": 24 } }, "object": { "type": "ThisExpression", "start": 3574, "end": 3578, "loc": { "start": { "line": 154, "column": 18 }, "end": { "line": 154, "column": 22 } } }, "property": { "type": "Identifier", "start": 3579, "end": 3580, "loc": { "start": { "line": 154, "column": 23 }, "end": { "line": 154, "column": 24 }, "identifierName": "x" }, "name": "x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3584, "end": 3607, "loc": { "start": { "line": 155, "column": 2 }, "end": { "line": 155, "column": 25 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3590, "end": 3606, "loc": { "start": { "line": 155, "column": 8 }, "end": { "line": 155, "column": 24 } }, "id": { "type": "Identifier", "start": 3590, "end": 3591, "loc": { "start": { "line": 155, "column": 8 }, "end": { "line": 155, "column": 9 }, "identifierName": "y" }, "name": "y" }, "init": { "type": "MemberExpression", "start": 3600, "end": 3606, "loc": { "start": { "line": 155, "column": 18 }, "end": { "line": 155, "column": 24 } }, "object": { "type": "ThisExpression", "start": 3600, "end": 3604, "loc": { "start": { "line": 155, "column": 18 }, "end": { "line": 155, "column": 22 } } }, "property": { "type": "Identifier", "start": 3605, "end": 3606, "loc": { "start": { "line": 155, "column": 23 }, "end": { "line": 155, "column": 24 }, "identifierName": "y" }, "name": "y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3610, "end": 3637, "loc": { "start": { "line": 156, "column": 2 }, "end": { "line": 156, "column": 29 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3616, "end": 3636, "loc": { "start": { "line": 156, "column": 8 }, "end": { "line": 156, "column": 28 } }, "id": { "type": "Identifier", "start": 3616, "end": 3621, "loc": { "start": { "line": 156, "column": 8 }, "end": { "line": 156, "column": 13 }, "identifierName": "angle" }, "name": "angle" }, "init": { "type": "MemberExpression", "start": 3626, "end": 3636, "loc": { "start": { "line": 156, "column": 18 }, "end": { "line": 156, "column": 28 } }, "object": { "type": "ThisExpression", "start": 3626, "end": 3630, "loc": { "start": { "line": 156, "column": 18 }, "end": { "line": 156, "column": 22 } } }, "property": { "type": "Identifier", "start": 3631, "end": 3636, "loc": { "start": { "line": 156, "column": 23 }, "end": { "line": 156, "column": 28 }, "identifierName": "angle" }, "name": "angle" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3640, "end": 3669, "loc": { "start": { "line": 157, "column": 2 }, "end": { "line": 157, "column": 31 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3646, "end": 3668, "loc": { "start": { "line": 157, "column": 8 }, "end": { "line": 157, "column": 30 } }, "id": { "type": "Identifier", "start": 3646, "end": 3653, "loc": { "start": { "line": 157, "column": 8 }, "end": { "line": 157, "column": 15 }, "identifierName": "scale_x" }, "name": "scale_x" }, "init": { "type": "MemberExpression", "start": 3656, "end": 3668, "loc": { "start": { "line": 157, "column": 18 }, "end": { "line": 157, "column": 30 } }, "object": { "type": "ThisExpression", "start": 3656, "end": 3660, "loc": { "start": { "line": 157, "column": 18 }, "end": { "line": 157, "column": 22 } } }, "property": { "type": "Identifier", "start": 3661, "end": 3668, "loc": { "start": { "line": 157, "column": 23 }, "end": { "line": 157, "column": 30 }, "identifierName": "scale_x" }, "name": "scale_x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3672, "end": 3701, "loc": { "start": { "line": 158, "column": 2 }, "end": { "line": 158, "column": 31 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3678, "end": 3700, "loc": { "start": { "line": 158, "column": 8 }, "end": { "line": 158, "column": 30 } }, "id": { "type": "Identifier", "start": 3678, "end": 3685, "loc": { "start": { "line": 158, "column": 8 }, "end": { "line": 158, "column": 15 }, "identifierName": "scale_y" }, "name": "scale_y" }, "init": { "type": "MemberExpression", "start": 3688, "end": 3700, "loc": { "start": { "line": 158, "column": 18 }, "end": { "line": 158, "column": 30 } }, "object": { "type": "ThisExpression", "start": 3688, "end": 3692, "loc": { "start": { "line": 158, "column": 18 }, "end": { "line": 158, "column": 22 } } }, "property": { "type": "Identifier", "start": 3693, "end": 3700, "loc": { "start": { "line": 158, "column": 23 }, "end": { "line": 158, "column": 30 }, "identifierName": "scale_y" }, "name": "scale_y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3704, "end": 3733, "loc": { "start": { "line": 159, "column": 2 }, "end": { "line": 159, "column": 31 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3710, "end": 3732, "loc": { "start": { "line": 159, "column": 8 }, "end": { "line": 159, "column": 30 } }, "id": { "type": "Identifier", "start": 3710, "end": 3716, "loc": { "start": { "line": 159, "column": 8 }, "end": { "line": 159, "column": 14 }, "identifierName": "points" }, "name": "points" }, "init": { "type": "MemberExpression", "start": 3720, "end": 3732, "loc": { "start": { "line": 159, "column": 18 }, "end": { "line": 159, "column": 30 } }, "object": { "type": "ThisExpression", "start": 3720, "end": 3724, "loc": { "start": { "line": 159, "column": 18 }, "end": { "line": 159, "column": 22 } } }, "property": { "type": "Identifier", "start": 3725, "end": 3732, "loc": { "start": { "line": 159, "column": 23 }, "end": { "line": 159, "column": 30 }, "identifierName": "_points" }, "name": "_points" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3736, "end": 3765, "loc": { "start": { "line": 160, "column": 2 }, "end": { "line": 160, "column": 31 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3742, "end": 3764, "loc": { "start": { "line": 160, "column": 8 }, "end": { "line": 160, "column": 30 } }, "id": { "type": "Identifier", "start": 3742, "end": 3748, "loc": { "start": { "line": 160, "column": 8 }, "end": { "line": 160, "column": 14 }, "identifierName": "coords" }, "name": "coords" }, "init": { "type": "MemberExpression", "start": 3752, "end": 3764, "loc": { "start": { "line": 160, "column": 18 }, "end": { "line": 160, "column": 30 } }, "object": { "type": "ThisExpression", "start": 3752, "end": 3756, "loc": { "start": { "line": 160, "column": 18 }, "end": { "line": 160, "column": 22 } } }, "property": { "type": "Identifier", "start": 3757, "end": 3764, "loc": { "start": { "line": 160, "column": 23 }, "end": { "line": 160, "column": 30 }, "identifierName": "_coords" }, "name": "_coords" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3768, "end": 3798, "loc": { "start": { "line": 161, "column": 2 }, "end": { "line": 161, "column": 32 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3774, "end": 3797, "loc": { "start": { "line": 161, "column": 8 }, "end": { "line": 161, "column": 31 } }, "id": { "type": "Identifier", "start": 3774, "end": 3779, "loc": { "start": { "line": 161, "column": 8 }, "end": { "line": 161, "column": 13 }, "identifierName": "count" }, "name": "count" }, "init": { "type": "MemberExpression", "start": 3784, "end": 3797, "loc": { "start": { "line": 161, "column": 18 }, "end": { "line": 161, "column": 31 } }, "object": { "type": "Identifier", "start": 3784, "end": 3790, "loc": { "start": { "line": 161, "column": 18 }, "end": { "line": 161, "column": 24 }, "identifierName": "points" }, "name": "points" }, "property": { "type": "Identifier", "start": 3791, "end": 3797, "loc": { "start": { "line": 161, "column": 25 }, "end": { "line": 161, "column": 31 }, "identifierName": "length" }, "name": "length" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3802, "end": 3812, "loc": { "start": { "line": 163, "column": 2 }, "end": { "line": 163, "column": 12 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3806, "end": 3811, "loc": { "start": { "line": 163, "column": 6 }, "end": { "line": 163, "column": 11 } }, "id": { "type": "Identifier", "start": 3806, "end": 3811, "loc": { "start": { "line": 163, "column": 6 }, "end": { "line": 163, "column": 11 }, "identifierName": "min_x" }, "name": "min_x" }, "init": null } ], "kind": "let" }, { "type": "VariableDeclaration", "start": 3815, "end": 3825, "loc": { "start": { "line": 164, "column": 2 }, "end": { "line": 164, "column": 12 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3819, "end": 3824, "loc": { "start": { "line": 164, "column": 6 }, "end": { "line": 164, "column": 11 } }, "id": { "type": "Identifier", "start": 3819, "end": 3824, "loc": { "start": { "line": 164, "column": 6 }, "end": { "line": 164, "column": 11 }, "identifierName": "max_x" }, "name": "max_x" }, "init": null } ], "kind": "let" }, { "type": "VariableDeclaration", "start": 3828, "end": 3838, "loc": { "start": { "line": 165, "column": 2 }, "end": { "line": 165, "column": 12 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3832, "end": 3837, "loc": { "start": { "line": 165, "column": 6 }, "end": { "line": 165, "column": 11 } }, "id": { "type": "Identifier", "start": 3832, "end": 3837, "loc": { "start": { "line": 165, "column": 6 }, "end": { "line": 165, "column": 11 }, "identifierName": "min_y" }, "name": "min_y" }, "init": null } ], "kind": "let" }, { "type": "VariableDeclaration", "start": 3841, "end": 3851, "loc": { "start": { "line": 166, "column": 2 }, "end": { "line": 166, "column": 12 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3845, "end": 3850, "loc": { "start": { "line": 166, "column": 6 }, "end": { "line": 166, "column": 11 } }, "id": { "type": "Identifier", "start": 3845, "end": 3850, "loc": { "start": { "line": 166, "column": 6 }, "end": { "line": 166, "column": 11 }, "identifierName": "max_y" }, "name": "max_y" }, "init": null } ], "kind": "let" }, { "type": "ForStatement", "start": 3855, "end": 4630, "loc": { "start": { "line": 168, "column": 2 }, "end": { "line": 207, "column": 3 } }, "init": { "type": "VariableDeclaration", "start": 3859, "end": 3877, "loc": { "start": { "line": 168, "column": 6 }, "end": { "line": 168, "column": 24 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3863, "end": 3869, "loc": { "start": { "line": 168, "column": 10 }, "end": { "line": 168, "column": 16 } }, "id": { "type": "Identifier", "start": 3863, "end": 3865, "loc": { "start": { "line": 168, "column": 10 }, "end": { "line": 168, "column": 12 }, "identifierName": "ix" }, "name": "ix" }, "init": { "type": "NumericLiteral", "start": 3868, "end": 3869, "loc": { "start": { "line": 168, "column": 15 }, "end": { "line": 168, "column": 16 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "VariableDeclarator", "start": 3871, "end": 3877, "loc": { "start": { "line": 168, "column": 18 }, "end": { "line": 168, "column": 24 } }, "id": { "type": "Identifier", "start": 3871, "end": 3873, "loc": { "start": { "line": 168, "column": 18 }, "end": { "line": 168, "column": 20 }, "identifierName": "iy" }, "name": "iy" }, "init": { "type": "NumericLiteral", "start": 3876, "end": 3877, "loc": { "start": { "line": 168, "column": 23 }, "end": { "line": 168, "column": 24 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } } ], "kind": "let" }, "test": { "type": "BinaryExpression", "start": 3879, "end": 3889, "loc": { "start": { "line": 168, "column": 26 }, "end": { "line": 168, "column": 36 } }, "left": { "type": "Identifier", "start": 3879, "end": 3881, "loc": { "start": { "line": 168, "column": 26 }, "end": { "line": 168, "column": 28 }, "identifierName": "ix" }, "name": "ix" }, "operator": "<", "right": { "type": "Identifier", "start": 3884, "end": 3889, "loc": { "start": { "line": 168, "column": 31 }, "end": { "line": 168, "column": 36 }, "identifierName": "count" }, "name": "count" } }, "update": { "type": "SequenceExpression", "start": 3891, "end": 3907, "loc": { "start": { "line": 168, "column": 38 }, "end": { "line": 168, "column": 54 } }, "expressions": [ { "type": "AssignmentExpression", "start": 3891, "end": 3898, "loc": { "start": { "line": 168, "column": 38 }, "end": { "line": 168, "column": 45 } }, "operator": "+=", "left": { "type": "Identifier", "start": 3891, "end": 3893, "loc": { "start": { "line": 168, "column": 38 }, "end": { "line": 168, "column": 40 }, "identifierName": "ix" }, "name": "ix" }, "right": { "type": "NumericLiteral", "start": 3897, "end": 3898, "loc": { "start": { "line": 168, "column": 44 }, "end": { "line": 168, "column": 45 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, { "type": "AssignmentExpression", "start": 3900, "end": 3907, "loc": { "start": { "line": 168, "column": 47 }, "end": { "line": 168, "column": 54 } }, "operator": "+=", "left": { "type": "Identifier", "start": 3900, "end": 3902, "loc": { "start": { "line": 168, "column": 47 }, "end": { "line": 168, "column": 49 }, "identifierName": "iy" }, "name": "iy" }, "right": { "type": "NumericLiteral", "start": 3906, "end": 3907, "loc": { "start": { "line": 168, "column": 53 }, "end": { "line": 168, "column": 54 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } } ] }, "body": { "type": "BlockStatement", "start": 3909, "end": 4630, "loc": { "start": { "line": 168, "column": 56 }, "end": { "line": 207, "column": 3 } }, "body": [ { "type": "VariableDeclaration", "start": 3914, "end": 3949, "loc": { "start": { "line": 169, "column": 3 }, "end": { "line": 169, "column": 38 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3918, "end": 3948, "loc": { "start": { "line": 169, "column": 7 }, "end": { "line": 169, "column": 37 } }, "id": { "type": "Identifier", "start": 3918, "end": 3925, "loc": { "start": { "line": 169, "column": 7 }, "end": { "line": 169, "column": 14 }, "identifierName": "coord_x" }, "name": "coord_x" }, "init": { "type": "BinaryExpression", "start": 3928, "end": 3948, "loc": { "start": { "line": 169, "column": 17 }, "end": { "line": 169, "column": 37 } }, "left": { "type": "MemberExpression", "start": 3928, "end": 3938, "loc": { "start": { "line": 169, "column": 17 }, "end": { "line": 169, "column": 27 } }, "object": { "type": "Identifier", "start": 3928, "end": 3934, "loc": { "start": { "line": 169, "column": 17 }, "end": { "line": 169, "column": 23 }, "identifierName": "points" }, "name": "points" }, "property": { "type": "Identifier", "start": 3935, "end": 3937, "loc": { "start": { "line": 169, "column": 24 }, "end": { "line": 169, "column": 26 }, "identifierName": "ix" }, "name": "ix" }, "computed": true }, "operator": "*", "right": { "type": "Identifier", "start": 3941, "end": 3948, "loc": { "start": { "line": 169, "column": 30 }, "end": { "line": 169, "column": 37 }, "identifierName": "scale_x" }, "name": "scale_x" } } } ], "kind": "let" }, { "type": "VariableDeclaration", "start": 3953, "end": 3988, "loc": { "start": { "line": 170, "column": 3 }, "end": { "line": 170, "column": 38 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3957, "end": 3987, "loc": { "start": { "line": 170, "column": 7 }, "end": { "line": 170, "column": 37 } }, "id": { "type": "Identifier", "start": 3957, "end": 3964, "loc": { "start": { "line": 170, "column": 7 }, "end": { "line": 170, "column": 14 }, "identifierName": "coord_y" }, "name": "coord_y" }, "init": { "type": "BinaryExpression", "start": 3967, "end": 3987, "loc": { "start": { "line": 170, "column": 17 }, "end": { "line": 170, "column": 37 } }, "left": { "type": "MemberExpression", "start": 3967, "end": 3977, "loc": { "start": { "line": 170, "column": 17 }, "end": { "line": 170, "column": 27 } }, "object": { "type": "Identifier", "start": 3967, "end": 3973, "loc": { "start": { "line": 170, "column": 17 }, "end": { "line": 170, "column": 23 }, "identifierName": "points" }, "name": "points" }, "property": { "type": "Identifier", "start": 3974, "end": 3976, "loc": { "start": { "line": 170, "column": 24 }, "end": { "line": 170, "column": 26 }, "identifierName": "iy" }, "name": "iy" }, "computed": true }, "operator": "*", "right": { "type": "Identifier", "start": 3980, "end": 3987, "loc": { "start": { "line": 170, "column": 30 }, "end": { "line": 170, "column": 37 }, "identifierName": "scale_y" }, "name": "scale_y" } } } ], "kind": "let" }, { "type": "IfStatement", "start": 3993, "end": 4216, "loc": { "start": { "line": 172, "column": 3 }, "end": { "line": 180, "column": 4 } }, "test": { "type": "Identifier", "start": 3996, "end": 4001, "loc": { "start": { "line": 172, "column": 6 }, "end": { "line": 172, "column": 11 }, "identifierName": "angle" }, "name": "angle" }, "consequent": { "type": "BlockStatement", "start": 4003, "end": 4216, "loc": { "start": { "line": 172, "column": 13 }, "end": { "line": 180, "column": 4 } }, "body": [ { "type": "VariableDeclaration", "start": 4009, "end": 4039, "loc": { "start": { "line": 173, "column": 4 }, "end": { "line": 173, "column": 34 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4015, "end": 4038, "loc": { "start": { "line": 173, "column": 10 }, "end": { "line": 173, "column": 33 } }, "id": { "type": "Identifier", "start": 4015, "end": 4018, "loc": { "start": { "line": 173, "column": 10 }, "end": { "line": 173, "column": 13 }, "identifierName": "cos" }, "name": "cos" }, "init": { "type": "CallExpression", "start": 4023, "end": 4038, "loc": { "start": { "line": 173, "column": 18 }, "end": { "line": 173, "column": 33 } }, "callee": { "type": "MemberExpression", "start": 4023, "end": 4031, "loc": { "start": { "line": 173, "column": 18 }, "end": { "line": 173, "column": 26 } }, "object": { "type": "Identifier", "start": 4023, "end": 4027, "loc": { "start": { "line": 173, "column": 18 }, "end": { "line": 173, "column": 22 }, "identifierName": "Math" }, "name": "Math" }, "property": { "type": "Identifier", "start": 4028, "end": 4031, "loc": { "start": { "line": 173, "column": 23 }, "end": { "line": 173, "column": 26 }, "identifierName": "cos" }, "name": "cos" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 4032, "end": 4037, "loc": { "start": { "line": 173, "column": 27 }, "end": { "line": 173, "column": 32 }, "identifierName": "angle" }, "name": "angle" } ] } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 4044, "end": 4074, "loc": { "start": { "line": 174, "column": 4 }, "end": { "line": 174, "column": 34 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4050, "end": 4073, "loc": { "start": { "line": 174, "column": 10 }, "end": { "line": 174, "column": 33 } }, "id": { "type": "Identifier", "start": 4050, "end": 4053, "loc": { "start": { "line": 174, "column": 10 }, "end": { "line": 174, "column": 13 }, "identifierName": "sin" }, "name": "sin" }, "init": { "type": "CallExpression", "start": 4058, "end": 4073, "loc": { "start": { "line": 174, "column": 18 }, "end": { "line": 174, "column": 33 } }, "callee": { "type": "MemberExpression", "start": 4058, "end": 4066, "loc": { "start": { "line": 174, "column": 18 }, "end": { "line": 174, "column": 26 } }, "object": { "type": "Identifier", "start": 4058, "end": 4062, "loc": { "start": { "line": 174, "column": 18 }, "end": { "line": 174, "column": 22 }, "identifierName": "Math" }, "name": "Math" }, "property": { "type": "Identifier", "start": 4063, "end": 4066, "loc": { "start": { "line": 174, "column": 23 }, "end": { "line": 174, "column": 26 }, "identifierName": "sin" }, "name": "sin" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 4067, "end": 4072, "loc": { "start": { "line": 174, "column": 27 }, "end": { "line": 174, "column": 32 }, "identifierName": "angle" }, "name": "angle" } ] } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 4079, "end": 4101, "loc": { "start": { "line": 175, "column": 4 }, "end": { "line": 175, "column": 26 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4085, "end": 4100, "loc": { "start": { "line": 175, "column": 10 }, "end": { "line": 175, "column": 25 } }, "id": { "type": "Identifier", "start": 4085, "end": 4090, "loc": { "start": { "line": 175, "column": 10 }, "end": { "line": 175, "column": 15 }, "identifierName": "tmp_x" }, "name": "tmp_x" }, "init": { "type": "Identifier", "start": 4093, "end": 4100, "loc": { "start": { "line": 175, "column": 18 }, "end": { "line": 175, "column": 25 }, "identifierName": "coord_x" }, "name": "coord_x" } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 4106, "end": 4128, "loc": { "start": { "line": 176, "column": 4 }, "end": { "line": 176, "column": 26 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4112, "end": 4127, "loc": { "start": { "line": 176, "column": 10 }, "end": { "line": 176, "column": 25 } }, "id": { "type": "Identifier", "start": 4112, "end": 4117, "loc": { "start": { "line": 176, "column": 10 }, "end": { "line": 176, "column": 15 }, "identifierName": "tmp_y" }, "name": "tmp_y" }, "init": { "type": "Identifier", "start": 4120, "end": 4127, "loc": { "start": { "line": 176, "column": 18 }, "end": { "line": 176, "column": 25 }, "identifierName": "coord_y" }, "name": "coord_y" } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 4134, "end": 4170, "loc": { "start": { "line": 178, "column": 4 }, "end": { "line": 178, "column": 40 } }, "expression": { "type": "AssignmentExpression", "start": 4134, "end": 4169, "loc": { "start": { "line": 178, "column": 4 }, "end": { "line": 178, "column": 39 } }, "operator": "=", "left": { "type": "Identifier", "start": 4134, "end": 4141, "loc": { "start": { "line": 178, "column": 4 }, "end": { "line": 178, "column": 11 }, "identifierName": "coord_x" }, "name": "coord_x" }, "right": { "type": "BinaryExpression", "start": 4144, "end": 4169, "loc": { "start": { "line": 178, "column": 14 }, "end": { "line": 178, "column": 39 } }, "left": { "type": "BinaryExpression", "start": 4144, "end": 4155, "loc": { "start": { "line": 178, "column": 14 }, "end": { "line": 178, "column": 25 } }, "left": { "type": "Identifier", "start": 4144, "end": 4149, "loc": { "start": { "line": 178, "column": 14 }, "end": { "line": 178, "column": 19 }, "identifierName": "tmp_x" }, "name": "tmp_x" }, "operator": "*", "right": { "type": "Identifier", "start": 4152, "end": 4155, "loc": { "start": { "line": 178, "column": 22 }, "end": { "line": 178, "column": 25 }, "identifierName": "cos" }, "name": "cos" } }, "operator": "-", "right": { "type": "BinaryExpression", "start": 4158, "end": 4169, "loc": { "start": { "line": 178, "column": 28 }, "end": { "line": 178, "column": 39 } }, "left": { "type": "Identifier", "start": 4158, "end": 4163, "loc": { "start": { "line": 178, "column": 28 }, "end": { "line": 178, "column": 33 }, "identifierName": "tmp_y" }, "name": "tmp_y" }, "operator": "*", "right": { "type": "Identifier", "start": 4166, "end": 4169, "loc": { "start": { "line": 178, "column": 36 }, "end": { "line": 178, "column": 39 }, "identifierName": "sin" }, "name": "sin" } } } } }, { "type": "ExpressionStatement", "start": 4175, "end": 4211, "loc": { "start": { "line": 179, "column": 4 }, "end": { "line": 179, "column": 40 } }, "expression": { "type": "AssignmentExpression", "start": 4175, "end": 4210, "loc": { "start": { "line": 179, "column": 4 }, "end": { "line": 179, "column": 39 } }, "operator": "=", "left": { "type": "Identifier", "start": 4175, "end": 4182, "loc": { "start": { "line": 179, "column": 4 }, "end": { "line": 179, "column": 11 }, "identifierName": "coord_y" }, "name": "coord_y" }, "right": { "type": "BinaryExpression", "start": 4185, "end": 4210, "loc": { "start": { "line": 179, "column": 14 }, "end": { "line": 179, "column": 39 } }, "left": { "type": "BinaryExpression", "start": 4185, "end": 4196, "loc": { "start": { "line": 179, "column": 14 }, "end": { "line": 179, "column": 25 } }, "left": { "type": "Identifier", "start": 4185, "end": 4190, "loc": { "start": { "line": 179, "column": 14 }, "end": { "line": 179, "column": 19 }, "identifierName": "tmp_x" }, "name": "tmp_x" }, "operator": "*", "right": { "type": "Identifier", "start": 4193, "end": 4196, "loc": { "start": { "line": 179, "column": 22 }, "end": { "line": 179, "column": 25 }, "identifierName": "sin" }, "name": "sin" } }, "operator": "+", "right": { "type": "BinaryExpression", "start": 4199, "end": 4210, "loc": { "start": { "line": 179, "column": 28 }, "end": { "line": 179, "column": 39 } }, "left": { "type": "Identifier", "start": 4199, "end": 4204, "loc": { "start": { "line": 179, "column": 28 }, "end": { "line": 179, "column": 33 }, "identifierName": "tmp_y" }, "name": "tmp_y" }, "operator": "*", "right": { "type": "Identifier", "start": 4207, "end": 4210, "loc": { "start": { "line": 179, "column": 36 }, "end": { "line": 179, "column": 39 }, "identifierName": "cos" }, "name": "cos" } } } } } ], "directives": [] }, "alternate": null }, { "type": "ExpressionStatement", "start": 4221, "end": 4234, "loc": { "start": { "line": 182, "column": 3 }, "end": { "line": 182, "column": 16 } }, "expression": { "type": "AssignmentExpression", "start": 4221, "end": 4233, "loc": { "start": { "line": 182, "column": 3 }, "end": { "line": 182, "column": 15 } }, "operator": "+=", "left": { "type": "Identifier", "start": 4221, "end": 4228, "loc": { "start": { "line": 182, "column": 3 }, "end": { "line": 182, "column": 10 }, "identifierName": "coord_x" }, "name": "coord_x" }, "right": { "type": "Identifier", "start": 4232, "end": 4233, "loc": { "start": { "line": 182, "column": 14 }, "end": { "line": 182, "column": 15 }, "identifierName": "x" }, "name": "x" } } }, { "type": "ExpressionStatement", "start": 4238, "end": 4251, "loc": { "start": { "line": 183, "column": 3 }, "end": { "line": 183, "column": 16 } }, "expression": { "type": "AssignmentExpression", "start": 4238, "end": 4250, "loc": { "start": { "line": 183, "column": 3 }, "end": { "line": 183, "column": 15 } }, "operator": "+=", "left": { "type": "Identifier", "start": 4238, "end": 4245, "loc": { "start": { "line": 183, "column": 3 }, "end": { "line": 183, "column": 10 }, "identifierName": "coord_y" }, "name": "coord_y" }, "right": { "type": "Identifier", "start": 4249, "end": 4250, "loc": { "start": { "line": 183, "column": 14 }, "end": { "line": 183, "column": 15 }, "identifierName": "y" }, "name": "y" } } }, { "type": "ExpressionStatement", "start": 4256, "end": 4277, "loc": { "start": { "line": 185, "column": 3 }, "end": { "line": 185, "column": 24 } }, "expression": { "type": "AssignmentExpression", "start": 4256, "end": 4276, "loc": { "start": { "line": 185, "column": 3 }, "end": { "line": 185, "column": 23 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4256, "end": 4266, "loc": { "start": { "line": 185, "column": 3 }, "end": { "line": 185, "column": 13 } }, "object": { "type": "Identifier", "start": 4256, "end": 4262, "loc": { "start": { "line": 185, "column": 3 }, "end": { "line": 185, "column": 9 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "Identifier", "start": 4263, "end": 4265, "loc": { "start": { "line": 185, "column": 10 }, "end": { "line": 185, "column": 12 }, "identifierName": "ix" }, "name": "ix" }, "computed": true }, "right": { "type": "Identifier", "start": 4269, "end": 4276, "loc": { "start": { "line": 185, "column": 16 }, "end": { "line": 185, "column": 23 }, "identifierName": "coord_x" }, "name": "coord_x" } } }, { "type": "ExpressionStatement", "start": 4281, "end": 4302, "loc": { "start": { "line": 186, "column": 3 }, "end": { "line": 186, "column": 24 } }, "expression": { "type": "AssignmentExpression", "start": 4281, "end": 4301, "loc": { "start": { "line": 186, "column": 3 }, "end": { "line": 186, "column": 23 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4281, "end": 4291, "loc": { "start": { "line": 186, "column": 3 }, "end": { "line": 186, "column": 13 } }, "object": { "type": "Identifier", "start": 4281, "end": 4287, "loc": { "start": { "line": 186, "column": 3 }, "end": { "line": 186, "column": 9 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "Identifier", "start": 4288, "end": 4290, "loc": { "start": { "line": 186, "column": 10 }, "end": { "line": 186, "column": 12 }, "identifierName": "iy" }, "name": "iy" }, "computed": true }, "right": { "type": "Identifier", "start": 4294, "end": 4301, "loc": { "start": { "line": 186, "column": 16 }, "end": { "line": 186, "column": 23 }, "identifierName": "coord_y" }, "name": "coord_y" } } }, { "type": "IfStatement", "start": 4307, "end": 4626, "loc": { "start": { "line": 188, "column": 3 }, "end": { "line": 206, "column": 4 } }, "test": { "type": "BinaryExpression", "start": 4310, "end": 4318, "loc": { "start": { "line": 188, "column": 6 }, "end": { "line": 188, "column": 14 } }, "left": { "type": "Identifier", "start": 4310, "end": 4312, "loc": { "start": { "line": 188, "column": 6 }, "end": { "line": 188, "column": 8 }, "identifierName": "ix" }, "name": "ix" }, "operator": "===", "right": { "type": "NumericLiteral", "start": 4317, "end": 4318, "loc": { "start": { "line": 188, "column": 13 }, "end": { "line": 188, "column": 14 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, "consequent": { "type": "BlockStatement", "start": 4320, "end": 4384, "loc": { "start": { "line": 188, "column": 16 }, "end": { "line": 191, "column": 4 } }, "body": [ { "type": "ExpressionStatement", "start": 4326, "end": 4350, "loc": { "start": { "line": 189, "column": 4 }, "end": { "line": 189, "column": 28 } }, "expression": { "type": "AssignmentExpression", "start": 4326, "end": 4349, "loc": { "start": { "line": 189, "column": 4 }, "end": { "line": 189, "column": 27 } }, "operator": "=", "left": { "type": "Identifier", "start": 4326, "end": 4331, "loc": { "start": { "line": 189, "column": 4 }, "end": { "line": 189, "column": 9 }, "identifierName": "min_x" }, "name": "min_x" }, "right": { "type": "AssignmentExpression", "start": 4334, "end": 4349, "loc": { "start": { "line": 189, "column": 12 }, "end": { "line": 189, "column": 27 } }, "operator": "=", "left": { "type": "Identifier", "start": 4334, "end": 4339, "loc": { "start": { "line": 189, "column": 12 }, "end": { "line": 189, "column": 17 }, "identifierName": "max_x" }, "name": "max_x" }, "right": { "type": "Identifier", "start": 4342, "end": 4349, "loc": { "start": { "line": 189, "column": 20 }, "end": { "line": 189, "column": 27 }, "identifierName": "coord_x" }, "name": "coord_x" } } } }, { "type": "ExpressionStatement", "start": 4355, "end": 4379, "loc": { "start": { "line": 190, "column": 4 }, "end": { "line": 190, "column": 28 } }, "expression": { "type": "AssignmentExpression", "start": 4355, "end": 4378, "loc": { "start": { "line": 190, "column": 4 }, "end": { "line": 190, "column": 27 } }, "operator": "=", "left": { "type": "Identifier", "start": 4355, "end": 4360, "loc": { "start": { "line": 190, "column": 4 }, "end": { "line": 190, "column": 9 }, "identifierName": "min_y" }, "name": "min_y" }, "right": { "type": "AssignmentExpression", "start": 4363, "end": 4378, "loc": { "start": { "line": 190, "column": 12 }, "end": { "line": 190, "column": 27 } }, "operator": "=", "left": { "type": "Identifier", "start": 4363, "end": 4368, "loc": { "start": { "line": 190, "column": 12 }, "end": { "line": 190, "column": 17 }, "identifierName": "max_y" }, "name": "max_y" }, "right": { "type": "Identifier", "start": 4371, "end": 4378, "loc": { "start": { "line": 190, "column": 20 }, "end": { "line": 190, "column": 27 }, "identifierName": "coord_y" }, "name": "coord_y" } } } } ], "directives": [] }, "alternate": { "type": "BlockStatement", "start": 4393, "end": 4626, "loc": { "start": { "line": 192, "column": 8 }, "end": { "line": 206, "column": 4 } }, "body": [ { "type": "IfStatement", "start": 4399, "end": 4507, "loc": { "start": { "line": 193, "column": 4 }, "end": { "line": 198, "column": 5 } }, "test": { "type": "BinaryExpression", "start": 4402, "end": 4417, "loc": { "start": { "line": 193, "column": 7 }, "end": { "line": 193, "column": 22 } }, "left": { "type": "Identifier", "start": 4402, "end": 4409, "loc": { "start": { "line": 193, "column": 7 }, "end": { "line": 193, "column": 14 }, "identifierName": "coord_x" }, "name": "coord_x" }, "operator": "<", "right": { "type": "Identifier", "start": 4412, "end": 4417, "loc": { "start": { "line": 193, "column": 17 }, "end": { "line": 193, "column": 22 }, "identifierName": "min_x" }, "name": "min_x" } }, "consequent": { "type": "BlockStatement", "start": 4419, "end": 4448, "loc": { "start": { "line": 193, "column": 24 }, "end": { "line": 195, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 4426, "end": 4442, "loc": { "start": { "line": 194, "column": 5 }, "end": { "line": 194, "column": 21 } }, "expression": { "type": "AssignmentExpression", "start": 4426, "end": 4441, "loc": { "start": { "line": 194, "column": 5 }, "end": { "line": 194, "column": 20 } }, "operator": "=", "left": { "type": "Identifier", "start": 4426, "end": 4431, "loc": { "start": { "line": 194, "column": 5 }, "end": { "line": 194, "column": 10 }, "identifierName": "min_x" }, "name": "min_x" }, "right": { "type": "Identifier", "start": 4434, "end": 4441, "loc": { "start": { "line": 194, "column": 13 }, "end": { "line": 194, "column": 20 }, "identifierName": "coord_x" }, "name": "coord_x" } } } ], "directives": [] }, "alternate": { "type": "IfStatement", "start": 4458, "end": 4507, "loc": { "start": { "line": 196, "column": 9 }, "end": { "line": 198, "column": 5 } }, "test": { "type": "BinaryExpression", "start": 4461, "end": 4476, "loc": { "start": { "line": 196, "column": 12 }, "end": { "line": 196, "column": 27 } }, "left": { "type": "Identifier", "start": 4461, "end": 4468, "loc": { "start": { "line": 196, "column": 12 }, "end": { "line": 196, "column": 19 }, "identifierName": "coord_x" }, "name": "coord_x" }, "operator": ">", "right": { "type": "Identifier", "start": 4471, "end": 4476, "loc": { "start": { "line": 196, "column": 22 }, "end": { "line": 196, "column": 27 }, "identifierName": "max_x" }, "name": "max_x" } }, "consequent": { "type": "BlockStatement", "start": 4478, "end": 4507, "loc": { "start": { "line": 196, "column": 29 }, "end": { "line": 198, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 4485, "end": 4501, "loc": { "start": { "line": 197, "column": 5 }, "end": { "line": 197, "column": 21 } }, "expression": { "type": "AssignmentExpression", "start": 4485, "end": 4500, "loc": { "start": { "line": 197, "column": 5 }, "end": { "line": 197, "column": 20 } }, "operator": "=", "left": { "type": "Identifier", "start": 4485, "end": 4490, "loc": { "start": { "line": 197, "column": 5 }, "end": { "line": 197, "column": 10 }, "identifierName": "max_x" }, "name": "max_x" }, "right": { "type": "Identifier", "start": 4493, "end": 4500, "loc": { "start": { "line": 197, "column": 13 }, "end": { "line": 197, "column": 20 }, "identifierName": "coord_x" }, "name": "coord_x" } } } ], "directives": [] }, "alternate": null } }, { "type": "IfStatement", "start": 4513, "end": 4621, "loc": { "start": { "line": 200, "column": 4 }, "end": { "line": 205, "column": 5 } }, "test": { "type": "BinaryExpression", "start": 4516, "end": 4531, "loc": { "start": { "line": 200, "column": 7 }, "end": { "line": 200, "column": 22 } }, "left": { "type": "Identifier", "start": 4516, "end": 4523, "loc": { "start": { "line": 200, "column": 7 }, "end": { "line": 200, "column": 14 }, "identifierName": "coord_y" }, "name": "coord_y" }, "operator": "<", "right": { "type": "Identifier", "start": 4526, "end": 4531, "loc": { "start": { "line": 200, "column": 17 }, "end": { "line": 200, "column": 22 }, "identifierName": "min_y" }, "name": "min_y" } }, "consequent": { "type": "BlockStatement", "start": 4533, "end": 4562, "loc": { "start": { "line": 200, "column": 24 }, "end": { "line": 202, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 4540, "end": 4556, "loc": { "start": { "line": 201, "column": 5 }, "end": { "line": 201, "column": 21 } }, "expression": { "type": "AssignmentExpression", "start": 4540, "end": 4555, "loc": { "start": { "line": 201, "column": 5 }, "end": { "line": 201, "column": 20 } }, "operator": "=", "left": { "type": "Identifier", "start": 4540, "end": 4545, "loc": { "start": { "line": 201, "column": 5 }, "end": { "line": 201, "column": 10 }, "identifierName": "min_y" }, "name": "min_y" }, "right": { "type": "Identifier", "start": 4548, "end": 4555, "loc": { "start": { "line": 201, "column": 13 }, "end": { "line": 201, "column": 20 }, "identifierName": "coord_y" }, "name": "coord_y" } } } ], "directives": [] }, "alternate": { "type": "IfStatement", "start": 4572, "end": 4621, "loc": { "start": { "line": 203, "column": 9 }, "end": { "line": 205, "column": 5 } }, "test": { "type": "BinaryExpression", "start": 4575, "end": 4590, "loc": { "start": { "line": 203, "column": 12 }, "end": { "line": 203, "column": 27 } }, "left": { "type": "Identifier", "start": 4575, "end": 4582, "loc": { "start": { "line": 203, "column": 12 }, "end": { "line": 203, "column": 19 }, "identifierName": "coord_y" }, "name": "coord_y" }, "operator": ">", "right": { "type": "Identifier", "start": 4585, "end": 4590, "loc": { "start": { "line": 203, "column": 22 }, "end": { "line": 203, "column": 27 }, "identifierName": "max_y" }, "name": "max_y" } }, "consequent": { "type": "BlockStatement", "start": 4592, "end": 4621, "loc": { "start": { "line": 203, "column": 29 }, "end": { "line": 205, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 4599, "end": 4615, "loc": { "start": { "line": 204, "column": 5 }, "end": { "line": 204, "column": 21 } }, "expression": { "type": "AssignmentExpression", "start": 4599, "end": 4614, "loc": { "start": { "line": 204, "column": 5 }, "end": { "line": 204, "column": 20 } }, "operator": "=", "left": { "type": "Identifier", "start": 4599, "end": 4604, "loc": { "start": { "line": 204, "column": 5 }, "end": { "line": 204, "column": 10 }, "identifierName": "max_y" }, "name": "max_y" }, "right": { "type": "Identifier", "start": 4607, "end": 4614, "loc": { "start": { "line": 204, "column": 13 }, "end": { "line": 204, "column": 20 }, "identifierName": "coord_y" }, "name": "coord_y" } } } ], "directives": [] }, "alternate": null } } ], "directives": [] } } ], "directives": [] } }, { "type": "ExpressionStatement", "start": 4634, "end": 4658, "loc": { "start": { "line": 209, "column": 2 }, "end": { "line": 209, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 4634, "end": 4657, "loc": { "start": { "line": 209, "column": 2 }, "end": { "line": 209, "column": 25 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4634, "end": 4641, "loc": { "start": { "line": 209, "column": 2 }, "end": { "line": 209, "column": 9 } }, "object": { "type": "ThisExpression", "start": 4634, "end": 4638, "loc": { "start": { "line": 209, "column": 2 }, "end": { "line": 209, "column": 6 } } }, "property": { "type": "Identifier", "start": 4639, "end": 4641, "loc": { "start": { "line": 209, "column": 7 }, "end": { "line": 209, "column": 9 }, "identifierName": "_x" }, "name": "_x" }, "computed": false }, "right": { "type": "Identifier", "start": 4656, "end": 4657, "loc": { "start": { "line": 209, "column": 24 }, "end": { "line": 209, "column": 25 }, "identifierName": "x" }, "name": "x" } } }, { "type": "ExpressionStatement", "start": 4661, "end": 4685, "loc": { "start": { "line": 210, "column": 2 }, "end": { "line": 210, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 4661, "end": 4684, "loc": { "start": { "line": 210, "column": 2 }, "end": { "line": 210, "column": 25 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4661, "end": 4668, "loc": { "start": { "line": 210, "column": 2 }, "end": { "line": 210, "column": 9 } }, "object": { "type": "ThisExpression", "start": 4661, "end": 4665, "loc": { "start": { "line": 210, "column": 2 }, "end": { "line": 210, "column": 6 } } }, "property": { "type": "Identifier", "start": 4666, "end": 4668, "loc": { "start": { "line": 210, "column": 7 }, "end": { "line": 210, "column": 9 }, "identifierName": "_y" }, "name": "_y" }, "computed": false }, "right": { "type": "Identifier", "start": 4683, "end": 4684, "loc": { "start": { "line": 210, "column": 24 }, "end": { "line": 210, "column": 25 }, "identifierName": "y" }, "name": "y" } } }, { "type": "ExpressionStatement", "start": 4688, "end": 4716, "loc": { "start": { "line": 211, "column": 2 }, "end": { "line": 211, "column": 30 } }, "expression": { "type": "AssignmentExpression", "start": 4688, "end": 4715, "loc": { "start": { "line": 211, "column": 2 }, "end": { "line": 211, "column": 29 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4688, "end": 4699, "loc": { "start": { "line": 211, "column": 2 }, "end": { "line": 211, "column": 13 } }, "object": { "type": "ThisExpression", "start": 4688, "end": 4692, "loc": { "start": { "line": 211, "column": 2 }, "end": { "line": 211, "column": 6 } } }, "property": { "type": "Identifier", "start": 4693, "end": 4699, "loc": { "start": { "line": 211, "column": 7 }, "end": { "line": 211, "column": 13 }, "identifierName": "_angle" }, "name": "_angle" }, "computed": false }, "right": { "type": "Identifier", "start": 4710, "end": 4715, "loc": { "start": { "line": 211, "column": 24 }, "end": { "line": 211, "column": 29 }, "identifierName": "angle" }, "name": "angle" } } }, { "type": "ExpressionStatement", "start": 4719, "end": 4749, "loc": { "start": { "line": 212, "column": 2 }, "end": { "line": 212, "column": 32 } }, "expression": { "type": "AssignmentExpression", "start": 4719, "end": 4748, "loc": { "start": { "line": 212, "column": 2 }, "end": { "line": 212, "column": 31 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4719, "end": 4732, "loc": { "start": { "line": 212, "column": 2 }, "end": { "line": 212, "column": 15 } }, "object": { "type": "ThisExpression", "start": 4719, "end": 4723, "loc": { "start": { "line": 212, "column": 2 }, "end": { "line": 212, "column": 6 } } }, "property": { "type": "Identifier", "start": 4724, "end": 4732, "loc": { "start": { "line": 212, "column": 7 }, "end": { "line": 212, "column": 15 }, "identifierName": "_scale_x" }, "name": "_scale_x" }, "computed": false }, "right": { "type": "Identifier", "start": 4741, "end": 4748, "loc": { "start": { "line": 212, "column": 24 }, "end": { "line": 212, "column": 31 }, "identifierName": "scale_x" }, "name": "scale_x" } } }, { "type": "ExpressionStatement", "start": 4752, "end": 4782, "loc": { "start": { "line": 213, "column": 2 }, "end": { "line": 213, "column": 32 } }, "expression": { "type": "AssignmentExpression", "start": 4752, "end": 4781, "loc": { "start": { "line": 213, "column": 2 }, "end": { "line": 213, "column": 31 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4752, "end": 4765, "loc": { "start": { "line": 213, "column": 2 }, "end": { "line": 213, "column": 15 } }, "object": { "type": "ThisExpression", "start": 4752, "end": 4756, "loc": { "start": { "line": 213, "column": 2 }, "end": { "line": 213, "column": 6 } } }, "property": { "type": "Identifier", "start": 4757, "end": 4765, "loc": { "start": { "line": 213, "column": 7 }, "end": { "line": 213, "column": 15 }, "identifierName": "_scale_y" }, "name": "_scale_y" }, "computed": false }, "right": { "type": "Identifier", "start": 4774, "end": 4781, "loc": { "start": { "line": 213, "column": 24 }, "end": { "line": 213, "column": 31 }, "identifierName": "scale_y" }, "name": "scale_y" } } }, { "type": "ExpressionStatement", "start": 4785, "end": 4813, "loc": { "start": { "line": 214, "column": 2 }, "end": { "line": 214, "column": 30 } }, "expression": { "type": "AssignmentExpression", "start": 4785, "end": 4812, "loc": { "start": { "line": 214, "column": 2 }, "end": { "line": 214, "column": 29 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4785, "end": 4796, "loc": { "start": { "line": 214, "column": 2 }, "end": { "line": 214, "column": 13 } }, "object": { "type": "ThisExpression", "start": 4785, "end": 4789, "loc": { "start": { "line": 214, "column": 2 }, "end": { "line": 214, "column": 6 } } }, "property": { "type": "Identifier", "start": 4790, "end": 4796, "loc": { "start": { "line": 214, "column": 7 }, "end": { "line": 214, "column": 13 }, "identifierName": "_min_x" }, "name": "_min_x" }, "computed": false }, "right": { "type": "Identifier", "start": 4807, "end": 4812, "loc": { "start": { "line": 214, "column": 24 }, "end": { "line": 214, "column": 29 }, "identifierName": "min_x" }, "name": "min_x" } } }, { "type": "ExpressionStatement", "start": 4816, "end": 4844, "loc": { "start": { "line": 215, "column": 2 }, "end": { "line": 215, "column": 30 } }, "expression": { "type": "AssignmentExpression", "start": 4816, "end": 4843, "loc": { "start": { "line": 215, "column": 2 }, "end": { "line": 215, "column": 29 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4816, "end": 4827, "loc": { "start": { "line": 215, "column": 2 }, "end": { "line": 215, "column": 13 } }, "object": { "type": "ThisExpression", "start": 4816, "end": 4820, "loc": { "start": { "line": 215, "column": 2 }, "end": { "line": 215, "column": 6 } } }, "property": { "type": "Identifier", "start": 4821, "end": 4827, "loc": { "start": { "line": 215, "column": 7 }, "end": { "line": 215, "column": 13 }, "identifierName": "_min_y" }, "name": "_min_y" }, "computed": false }, "right": { "type": "Identifier", "start": 4838, "end": 4843, "loc": { "start": { "line": 215, "column": 24 }, "end": { "line": 215, "column": 29 }, "identifierName": "min_y" }, "name": "min_y" } } }, { "type": "ExpressionStatement", "start": 4847, "end": 4875, "loc": { "start": { "line": 216, "column": 2 }, "end": { "line": 216, "column": 30 } }, "expression": { "type": "AssignmentExpression", "start": 4847, "end": 4874, "loc": { "start": { "line": 216, "column": 2 }, "end": { "line": 216, "column": 29 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4847, "end": 4858, "loc": { "start": { "line": 216, "column": 2 }, "end": { "line": 216, "column": 13 } }, "object": { "type": "ThisExpression", "start": 4847, "end": 4851, "loc": { "start": { "line": 216, "column": 2 }, "end": { "line": 216, "column": 6 } } }, "property": { "type": "Identifier", "start": 4852, "end": 4858, "loc": { "start": { "line": 216, "column": 7 }, "end": { "line": 216, "column": 13 }, "identifierName": "_max_x" }, "name": "_max_x" }, "computed": false }, "right": { "type": "Identifier", "start": 4869, "end": 4874, "loc": { "start": { "line": 216, "column": 24 }, "end": { "line": 216, "column": 29 }, "identifierName": "max_x" }, "name": "max_x" } } }, { "type": "ExpressionStatement", "start": 4878, "end": 4906, "loc": { "start": { "line": 217, "column": 2 }, "end": { "line": 217, "column": 30 } }, "expression": { "type": "AssignmentExpression", "start": 4878, "end": 4905, "loc": { "start": { "line": 217, "column": 2 }, "end": { "line": 217, "column": 29 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4878, "end": 4889, "loc": { "start": { "line": 217, "column": 2 }, "end": { "line": 217, "column": 13 } }, "object": { "type": "ThisExpression", "start": 4878, "end": 4882, "loc": { "start": { "line": 217, "column": 2 }, "end": { "line": 217, "column": 6 } } }, "property": { "type": "Identifier", "start": 4883, "end": 4889, "loc": { "start": { "line": 217, "column": 7 }, "end": { "line": 217, "column": 13 }, "identifierName": "_max_y" }, "name": "_max_y" }, "computed": false }, "right": { "type": "Identifier", "start": 4900, "end": 4905, "loc": { "start": { "line": 217, "column": 24 }, "end": { "line": 217, "column": 29 }, "identifierName": "max_y" }, "name": "max_y" } } }, { "type": "ExpressionStatement", "start": 4909, "end": 4937, "loc": { "start": { "line": 218, "column": 2 }, "end": { "line": 218, "column": 30 } }, "expression": { "type": "AssignmentExpression", "start": 4909, "end": 4936, "loc": { "start": { "line": 218, "column": 2 }, "end": { "line": 218, "column": 29 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4909, "end": 4927, "loc": { "start": { "line": 218, "column": 2 }, "end": { "line": 218, "column": 20 } }, "object": { "type": "ThisExpression", "start": 4909, "end": 4913, "loc": { "start": { "line": 218, "column": 2 }, "end": { "line": 218, "column": 6 } } }, "property": { "type": "Identifier", "start": 4914, "end": 4927, "loc": { "start": { "line": 218, "column": 7 }, "end": { "line": 218, "column": 20 }, "identifierName": "_dirty_coords" }, "name": "_dirty_coords" }, "computed": false }, "right": { "type": "BooleanLiteral", "start": 4931, "end": 4936, "loc": { "start": { "line": 218, "column": 24 }, "end": { "line": 218, "column": 29 } }, "value": false } } }, { "type": "ExpressionStatement", "start": 4940, "end": 4967, "loc": { "start": { "line": 219, "column": 2 }, "end": { "line": 219, "column": 29 } }, "expression": { "type": "AssignmentExpression", "start": 4940, "end": 4966, "loc": { "start": { "line": 219, "column": 2 }, "end": { "line": 219, "column": 28 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 4940, "end": 4959, "loc": { "start": { "line": 219, "column": 2 }, "end": { "line": 219, "column": 21 } }, "object": { "type": "ThisExpression", "start": 4940, "end": 4944, "loc": { "start": { "line": 219, "column": 2 }, "end": { "line": 219, "column": 6 } } }, "property": { "type": "Identifier", "start": 4945, "end": 4959, "loc": { "start": { "line": 219, "column": 7 }, "end": { "line": 219, "column": 21 }, "identifierName": "_dirty_normals" }, "name": "_dirty_normals" }, "computed": false }, "right": { "type": "BooleanLiteral", "start": 4962, "end": 4966, "loc": { "start": { "line": 219, "column": 24 }, "end": { "line": 219, "column": 28 } }, "value": true } } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Calculates and caches the polygon's world coordinates based on its points, angle, and scale\n\t ", "start": 3429, "end": 3533, "loc": { "start": { "line": 150, "column": 1 }, "end": { "line": 152, "column": 4 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t * Calculates the normals and edges of the polygon's sides\n\t ", "start": 4973, "end": 5041, "loc": { "start": { "line": 222, "column": 1 }, "end": { "line": 224, "column": 4 } } } ] }, { "type": "ClassMethod", "start": 5043, "end": 5615, "loc": { "start": { "line": 225, "column": 1 }, "end": { "line": 244, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 5043, "end": 5060, "loc": { "start": { "line": 225, "column": 1 }, "end": { "line": 225, "column": 18 }, "identifierName": "_calculateNormals" }, "name": "_calculateNormals", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 5063, "end": 5615, "loc": { "start": { "line": 225, "column": 21 }, "end": { "line": 244, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 5067, "end": 5096, "loc": { "start": { "line": 226, "column": 2 }, "end": { "line": 226, "column": 31 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5073, "end": 5095, "loc": { "start": { "line": 226, "column": 8 }, "end": { "line": 226, "column": 30 } }, "id": { "type": "Identifier", "start": 5073, "end": 5079, "loc": { "start": { "line": 226, "column": 8 }, "end": { "line": 226, "column": 14 }, "identifierName": "coords" }, "name": "coords" }, "init": { "type": "MemberExpression", "start": 5083, "end": 5095, "loc": { "start": { "line": 226, "column": 18 }, "end": { "line": 226, "column": 30 } }, "object": { "type": "ThisExpression", "start": 5083, "end": 5087, "loc": { "start": { "line": 226, "column": 18 }, "end": { "line": 226, "column": 22 } } }, "property": { "type": "Identifier", "start": 5088, "end": 5095, "loc": { "start": { "line": 226, "column": 23 }, "end": { "line": 226, "column": 30 }, "identifierName": "_coords" }, "name": "_coords" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 5099, "end": 5127, "loc": { "start": { "line": 227, "column": 2 }, "end": { "line": 227, "column": 30 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5105, "end": 5126, "loc": { "start": { "line": 227, "column": 8 }, "end": { "line": 227, "column": 29 } }, "id": { "type": "Identifier", "start": 5105, "end": 5110, "loc": { "start": { "line": 227, "column": 8 }, "end": { "line": 227, "column": 13 }, "identifierName": "edges" }, "name": "edges" }, "init": { "type": "MemberExpression", "start": 5115, "end": 5126, "loc": { "start": { "line": 227, "column": 18 }, "end": { "line": 227, "column": 29 } }, "object": { "type": "ThisExpression", "start": 5115, "end": 5119, "loc": { "start": { "line": 227, "column": 18 }, "end": { "line": 227, "column": 22 } } }, "property": { "type": "Identifier", "start": 5120, "end": 5126, "loc": { "start": { "line": 227, "column": 23 }, "end": { "line": 227, "column": 29 }, "identifierName": "_edges" }, "name": "_edges" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 5130, "end": 5160, "loc": { "start": { "line": 228, "column": 2 }, "end": { "line": 228, "column": 32 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5136, "end": 5159, "loc": { "start": { "line": 228, "column": 8 }, "end": { "line": 228, "column": 31 } }, "id": { "type": "Identifier", "start": 5136, "end": 5143, "loc": { "start": { "line": 228, "column": 8 }, "end": { "line": 228, "column": 15 }, "identifierName": "normals" }, "name": "normals" }, "init": { "type": "MemberExpression", "start": 5146, "end": 5159, "loc": { "start": { "line": 228, "column": 18 }, "end": { "line": 228, "column": 31 } }, "object": { "type": "ThisExpression", "start": 5146, "end": 5150, "loc": { "start": { "line": 228, "column": 18 }, "end": { "line": 228, "column": 22 } } }, "property": { "type": "Identifier", "start": 5151, "end": 5159, "loc": { "start": { "line": 228, "column": 23 }, "end": { "line": 228, "column": 31 }, "identifierName": "_normals" }, "name": "_normals" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 5163, "end": 5193, "loc": { "start": { "line": 229, "column": 2 }, "end": { "line": 229, "column": 32 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5169, "end": 5192, "loc": { "start": { "line": 229, "column": 8 }, "end": { "line": 229, "column": 31 } }, "id": { "type": "Identifier", "start": 5169, "end": 5174, "loc": { "start": { "line": 229, "column": 8 }, "end": { "line": 229, "column": 13 }, "identifierName": "count" }, "name": "count" }, "init": { "type": "MemberExpression", "start": 5179, "end": 5192, "loc": { "start": { "line": 229, "column": 18 }, "end": { "line": 229, "column": 31 } }, "object": { "type": "Identifier", "start": 5179, "end": 5185, "loc": { "start": { "line": 229, "column": 18 }, "end": { "line": 229, "column": 24 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "Identifier", "start": 5186, "end": 5192, "loc": { "start": { "line": 229, "column": 25 }, "end": { "line": 229, "column": 31 }, "identifierName": "length" }, "name": "length" }, "computed": false } } ], "kind": "const" }, { "type": "ForStatement", "start": 5197, "end": 5580, "loc": { "start": { "line": 231, "column": 2 }, "end": { "line": 241, "column": 3 } }, "init": { "type": "VariableDeclaration", "start": 5201, "end": 5219, "loc": { "start": { "line": 231, "column": 6 }, "end": { "line": 231, "column": 24 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5205, "end": 5211, "loc": { "start": { "line": 231, "column": 10 }, "end": { "line": 231, "column": 16 } }, "id": { "type": "Identifier", "start": 5205, "end": 5207, "loc": { "start": { "line": 231, "column": 10 }, "end": { "line": 231, "column": 12 }, "identifierName": "ix" }, "name": "ix" }, "init": { "type": "NumericLiteral", "start": 5210, "end": 5211, "loc": { "start": { "line": 231, "column": 15 }, "end": { "line": 231, "column": 16 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "VariableDeclarator", "start": 5213, "end": 5219, "loc": { "start": { "line": 231, "column": 18 }, "end": { "line": 231, "column": 24 } }, "id": { "type": "Identifier", "start": 5213, "end": 5215, "loc": { "start": { "line": 231, "column": 18 }, "end": { "line": 231, "column": 20 }, "identifierName": "iy" }, "name": "iy" }, "init": { "type": "NumericLiteral", "start": 5218, "end": 5219, "loc": { "start": { "line": 231, "column": 23 }, "end": { "line": 231, "column": 24 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } } ], "kind": "let" }, "test": { "type": "BinaryExpression", "start": 5221, "end": 5231, "loc": { "start": { "line": 231, "column": 26 }, "end": { "line": 231, "column": 36 } }, "left": { "type": "Identifier", "start": 5221, "end": 5223, "loc": { "start": { "line": 231, "column": 26 }, "end": { "line": 231, "column": 28 }, "identifierName": "ix" }, "name": "ix" }, "operator": "<", "right": { "type": "Identifier", "start": 5226, "end": 5231, "loc": { "start": { "line": 231, "column": 31 }, "end": { "line": 231, "column": 36 }, "identifierName": "count" }, "name": "count" } }, "update": { "type": "SequenceExpression", "start": 5233, "end": 5249, "loc": { "start": { "line": 231, "column": 38 }, "end": { "line": 231, "column": 54 } }, "expressions": [ { "type": "AssignmentExpression", "start": 5233, "end": 5240, "loc": { "start": { "line": 231, "column": 38 }, "end": { "line": 231, "column": 45 } }, "operator": "+=", "left": { "type": "Identifier", "start": 5233, "end": 5235, "loc": { "start": { "line": 231, "column": 38 }, "end": { "line": 231, "column": 40 }, "identifierName": "ix" }, "name": "ix" }, "right": { "type": "NumericLiteral", "start": 5239, "end": 5240, "loc": { "start": { "line": 231, "column": 44 }, "end": { "line": 231, "column": 45 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, { "type": "AssignmentExpression", "start": 5242, "end": 5249, "loc": { "start": { "line": 231, "column": 47 }, "end": { "line": 231, "column": 54 } }, "operator": "+=", "left": { "type": "Identifier", "start": 5242, "end": 5244, "loc": { "start": { "line": 231, "column": 47 }, "end": { "line": 231, "column": 49 }, "identifierName": "iy" }, "name": "iy" }, "right": { "type": "NumericLiteral", "start": 5248, "end": 5249, "loc": { "start": { "line": 231, "column": 53 }, "end": { "line": 231, "column": 54 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } } ] }, "body": { "type": "BlockStatement", "start": 5251, "end": 5580, "loc": { "start": { "line": 231, "column": 56 }, "end": { "line": 241, "column": 3 } }, "body": [ { "type": "VariableDeclaration", "start": 5256, "end": 5299, "loc": { "start": { "line": 232, "column": 3 }, "end": { "line": 232, "column": 46 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5262, "end": 5298, "loc": { "start": { "line": 232, "column": 9 }, "end": { "line": 232, "column": 45 } }, "id": { "type": "Identifier", "start": 5262, "end": 5266, "loc": { "start": { "line": 232, "column": 9 }, "end": { "line": 232, "column": 13 }, "identifierName": "next" }, "name": "next" }, "init": { "type": "ConditionalExpression", "start": 5271, "end": 5298, "loc": { "start": { "line": 232, "column": 18 }, "end": { "line": 232, "column": 45 } }, "test": { "type": "BinaryExpression", "start": 5271, "end": 5285, "loc": { "start": { "line": 232, "column": 18 }, "end": { "line": 232, "column": 32 } }, "left": { "type": "BinaryExpression", "start": 5271, "end": 5277, "loc": { "start": { "line": 232, "column": 18 }, "end": { "line": 232, "column": 24 } }, "left": { "type": "Identifier", "start": 5271, "end": 5273, "loc": { "start": { "line": 232, "column": 18 }, "end": { "line": 232, "column": 20 }, "identifierName": "ix" }, "name": "ix" }, "operator": "+", "right": { "type": "NumericLiteral", "start": 5276, "end": 5277, "loc": { "start": { "line": 232, "column": 23 }, "end": { "line": 232, "column": 24 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, "operator": "<", "right": { "type": "Identifier", "start": 5280, "end": 5285, "loc": { "start": { "line": 232, "column": 27 }, "end": { "line": 232, "column": 32 }, "identifierName": "count" }, "name": "count" } }, "consequent": { "type": "BinaryExpression", "start": 5288, "end": 5294, "loc": { "start": { "line": 232, "column": 35 }, "end": { "line": 232, "column": 41 } }, "left": { "type": "Identifier", "start": 5288, "end": 5290, "loc": { "start": { "line": 232, "column": 35 }, "end": { "line": 232, "column": 37 }, "identifierName": "ix" }, "name": "ix" }, "operator": "+", "right": { "type": "NumericLiteral", "start": 5293, "end": 5294, "loc": { "start": { "line": 232, "column": 40 }, "end": { "line": 232, "column": 41 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, "alternate": { "type": "NumericLiteral", "start": 5297, "end": 5298, "loc": { "start": { "line": 232, "column": 44 }, "end": { "line": 232, "column": 45 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 5303, "end": 5344, "loc": { "start": { "line": 233, "column": 3 }, "end": { "line": 233, "column": 44 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5309, "end": 5343, "loc": { "start": { "line": 233, "column": 9 }, "end": { "line": 233, "column": 43 } }, "id": { "type": "Identifier", "start": 5309, "end": 5310, "loc": { "start": { "line": 233, "column": 9 }, "end": { "line": 233, "column": 10 }, "identifierName": "x" }, "name": "x" }, "init": { "type": "BinaryExpression", "start": 5318, "end": 5343, "loc": { "start": { "line": 233, "column": 18 }, "end": { "line": 233, "column": 43 } }, "left": { "type": "MemberExpression", "start": 5318, "end": 5330, "loc": { "start": { "line": 233, "column": 18 }, "end": { "line": 233, "column": 30 } }, "object": { "type": "Identifier", "start": 5318, "end": 5324, "loc": { "start": { "line": 233, "column": 18 }, "end": { "line": 233, "column": 24 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "Identifier", "start": 5325, "end": 5329, "loc": { "start": { "line": 233, "column": 25 }, "end": { "line": 233, "column": 29 }, "identifierName": "next" }, "name": "next" }, "computed": true }, "operator": "-", "right": { "type": "MemberExpression", "start": 5333, "end": 5343, "loc": { "start": { "line": 233, "column": 33 }, "end": { "line": 233, "column": 43 } }, "object": { "type": "Identifier", "start": 5333, "end": 5339, "loc": { "start": { "line": 233, "column": 33 }, "end": { "line": 233, "column": 39 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "Identifier", "start": 5340, "end": 5342, "loc": { "start": { "line": 233, "column": 40 }, "end": { "line": 233, "column": 42 }, "identifierName": "ix" }, "name": "ix" }, "computed": true } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 5348, "end": 5393, "loc": { "start": { "line": 234, "column": 3 }, "end": { "line": 234, "column": 48 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5354, "end": 5392, "loc": { "start": { "line": 234, "column": 9 }, "end": { "line": 234, "column": 47 } }, "id": { "type": "Identifier", "start": 5354, "end": 5355, "loc": { "start": { "line": 234, "column": 9 }, "end": { "line": 234, "column": 10 }, "identifierName": "y" }, "name": "y" }, "init": { "type": "BinaryExpression", "start": 5363, "end": 5392, "loc": { "start": { "line": 234, "column": 18 }, "end": { "line": 234, "column": 47 } }, "left": { "type": "MemberExpression", "start": 5363, "end": 5379, "loc": { "start": { "line": 234, "column": 18 }, "end": { "line": 234, "column": 34 } }, "object": { "type": "Identifier", "start": 5363, "end": 5369, "loc": { "start": { "line": 234, "column": 18 }, "end": { "line": 234, "column": 24 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "BinaryExpression", "start": 5370, "end": 5378, "loc": { "start": { "line": 234, "column": 25 }, "end": { "line": 234, "column": 33 } }, "left": { "type": "Identifier", "start": 5370, "end": 5374, "loc": { "start": { "line": 234, "column": 25 }, "end": { "line": 234, "column": 29 }, "identifierName": "next" }, "name": "next" }, "operator": "+", "right": { "type": "NumericLiteral", "start": 5377, "end": 5378, "loc": { "start": { "line": 234, "column": 32 }, "end": { "line": 234, "column": 33 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } }, "computed": true }, "operator": "-", "right": { "type": "MemberExpression", "start": 5382, "end": 5392, "loc": { "start": { "line": 234, "column": 37 }, "end": { "line": 234, "column": 47 } }, "object": { "type": "Identifier", "start": 5382, "end": 5388, "loc": { "start": { "line": 234, "column": 37 }, "end": { "line": 234, "column": 43 }, "identifierName": "coords" }, "name": "coords" }, "property": { "type": "Identifier", "start": 5389, "end": 5391, "loc": { "start": { "line": 234, "column": 44 }, "end": { "line": 234, "column": 46 }, "identifierName": "iy" }, "name": "iy" }, "computed": true } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 5397, "end": 5450, "loc": { "start": { "line": 235, "column": 3 }, "end": { "line": 235, "column": 56 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5403, "end": 5449, "loc": { "start": { "line": 235, "column": 9 }, "end": { "line": 235, "column": 55 } }, "id": { "type": "Identifier", "start": 5403, "end": 5409, "loc": { "start": { "line": 235, "column": 9 }, "end": { "line": 235, "column": 15 }, "identifierName": "length" }, "name": "length" }, "init": { "type": "ConditionalExpression", "start": 5412, "end": 5449, "loc": { "start": { "line": 235, "column": 18 }, "end": { "line": 235, "column": 55 } }, "test": { "type": "LogicalExpression", "start": 5412, "end": 5418, "loc": { "start": { "line": 235, "column": 18 }, "end": { "line": 235, "column": 24 } }, "left": { "type": "Identifier", "start": 5412, "end": 5413, "loc": { "start": { "line": 235, "column": 18 }, "end": { "line": 235, "column": 19 }, "identifierName": "x" }, "name": "x" }, "operator": "||", "right": { "type": "Identifier", "start": 5417, "end": 5418, "loc": { "start": { "line": 235, "column": 23 }, "end": { "line": 235, "column": 24 }, "identifierName": "y" }, "name": "y" } }, "consequent": { "type": "CallExpression", "start": 5421, "end": 5445, "loc": { "start": { "line": 235, "column": 27 }, "end": { "line": 235, "column": 51 } }, "callee": { "type": "MemberExpression", "start": 5421, "end": 5430, "loc": { "start": { "line": 235, "column": 27 }, "end": { "line": 235, "column": 36 } }, "object": { "type": "Identifier", "start": 5421, "end": 5425, "loc": { "start": { "line": 235, "column": 27 }, "end": { "line": 235, "column": 31 }, "identifierName": "Math" }, "name": "Math" }, "property": { "type": "Identifier", "start": 5426, "end": 5430, "loc": { "start": { "line": 235, "column": 32 }, "end": { "line": 235, "column": 36 }, "identifierName": "sqrt" }, "name": "sqrt" }, "computed": false }, "arguments": [ { "type": "BinaryExpression", "start": 5431, "end": 5444, "loc": { "start": { "line": 235, "column": 37 }, "end": { "line": 235, "column": 50 } }, "left": { "type": "BinaryExpression", "start": 5431, "end": 5436, "loc": { "start": { "line": 235, "column": 37 }, "end": { "line": 235, "column": 42 } }, "left": { "type": "Identifier", "start": 5431, "end": 5432, "loc": { "start": { "line": 235, "column": 37 }, "end": { "line": 235, "column": 38 }, "identifierName": "x" }, "name": "x" }, "operator": "*", "right": { "type": "Identifier", "start": 5435, "end": 5436, "loc": { "start": { "line": 235, "column": 41 }, "end": { "line": 235, "column": 42 }, "identifierName": "x" }, "name": "x" } }, "operator": "+", "right": { "type": "BinaryExpression", "start": 5439, "end": 5444, "loc": { "start": { "line": 235, "column": 45 }, "end": { "line": 235, "column": 50 } }, "left": { "type": "Identifier", "start": 5439, "end": 5440, "loc": { "start": { "line": 235, "column": 45 }, "end": { "line": 235, "column": 46 }, "identifierName": "y" }, "name": "y" }, "operator": "*", "right": { "type": "Identifier", "start": 5443, "end": 5444, "loc": { "start": { "line": 235, "column": 49 }, "end": { "line": 235, "column": 50 }, "identifierName": "y" }, "name": "y" } } } ] }, "alternate": { "type": "NumericLiteral", "start": 5448, "end": 5449, "loc": { "start": { "line": 235, "column": 54 }, "end": { "line": 235, "column": 55 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 5455, "end": 5471, "loc": { "start": { "line": 237, "column": 3 }, "end": { "line": 237, "column": 19 } }, "expression": { "type": "AssignmentExpression", "start": 5455, "end": 5470, "loc": { "start": { "line": 237, "column": 3 }, "end": { "line": 237, "column": 18 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 5455, "end": 5464, "loc": { "start": { "line": 237, "column": 3 }, "end": { "line": 237, "column": 12 } }, "object": { "type": "Identifier", "start": 5455, "end": 5460, "loc": { "start": { "line": 237, "column": 3 }, "end": { "line": 237, "column": 8 }, "identifierName": "edges" }, "name": "edges" }, "property": { "type": "Identifier", "start": 5461, "end": 5463, "loc": { "start": { "line": 237, "column": 9 }, "end": { "line": 237, "column": 11 }, "identifierName": "ix" }, "name": "ix" }, "computed": true }, "right": { "type": "Identifier", "start": 5469, "end": 5470, "loc": { "start": { "line": 237, "column": 17 }, "end": { "line": 237, "column": 18 }, "identifierName": "x" }, "name": "x" } } }, { "type": "ExpressionStatement", "start": 5475, "end": 5491, "loc": { "start": { "line": 238, "column": 3 }, "end": { "line": 238, "column": 19 } }, "expression": { "type": "AssignmentExpression", "start": 5475, "end": 5490, "loc": { "start": { "line": 238, "column": 3 }, "end": { "line": 238, "column": 18 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 5475, "end": 5484, "loc": { "start": { "line": 238, "column": 3 }, "end": { "line": 238, "column": 12 } }, "object": { "type": "Identifier", "start": 5475, "end": 5480, "loc": { "start": { "line": 238, "column": 3 }, "end": { "line": 238, "column": 8 }, "identifierName": "edges" }, "name": "edges" }, "property": { "type": "Identifier", "start": 5481, "end": 5483, "loc": { "start": { "line": 238, "column": 9 }, "end": { "line": 238, "column": 11 }, "identifierName": "iy" }, "name": "iy" }, "computed": true }, "right": { "type": "Identifier", "start": 5489, "end": 5490, "loc": { "start": { "line": 238, "column": 17 }, "end": { "line": 238, "column": 18 }, "identifierName": "y" }, "name": "y" } } }, { "type": "ExpressionStatement", "start": 5495, "end": 5533, "loc": { "start": { "line": 239, "column": 3 }, "end": { "line": 239, "column": 41 } }, "expression": { "type": "AssignmentExpression", "start": 5495, "end": 5532, "loc": { "start": { "line": 239, "column": 3 }, "end": { "line": 239, "column": 40 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 5495, "end": 5506, "loc": { "start": { "line": 239, "column": 3 }, "end": { "line": 239, "column": 14 } }, "object": { "type": "Identifier", "start": 5495, "end": 5502, "loc": { "start": { "line": 239, "column": 3 }, "end": { "line": 239, "column": 10 }, "identifierName": "normals" }, "name": "normals" }, "property": { "type": "Identifier", "start": 5503, "end": 5505, "loc": { "start": { "line": 239, "column": 11 }, "end": { "line": 239, "column": 13 }, "identifierName": "ix" }, "name": "ix" }, "computed": true }, "right": { "type": "ConditionalExpression", "start": 5509, "end": 5532, "loc": { "start": { "line": 239, "column": 17 }, "end": { "line": 239, "column": 40 } }, "test": { "type": "Identifier", "start": 5509, "end": 5515, "loc": { "start": { "line": 239, "column": 17 }, "end": { "line": 239, "column": 23 }, "identifierName": "length" }, "name": "length" }, "consequent": { "type": "BinaryExpression", "start": 5518, "end": 5528, "loc": { "start": { "line": 239, "column": 26 }, "end": { "line": 239, "column": 36 } }, "left": { "type": "Identifier", "start": 5518, "end": 5519, "loc": { "start": { "line": 239, "column": 26 }, "end": { "line": 239, "column": 27 }, "identifierName": "y" }, "name": "y" }, "operator": "/", "right": { "type": "Identifier", "start": 5522, "end": 5528, "loc": { "start": { "line": 239, "column": 30 }, "end": { "line": 239, "column": 36 }, "identifierName": "length" }, "name": "length" } }, "alternate": { "type": "NumericLiteral", "start": 5531, "end": 5532, "loc": { "start": { "line": 239, "column": 39 }, "end": { "line": 239, "column": 40 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } } }, { "type": "ExpressionStatement", "start": 5537, "end": 5576, "loc": { "start": { "line": 240, "column": 3 }, "end": { "line": 240, "column": 42 } }, "expression": { "type": "AssignmentExpression", "start": 5537, "end": 5575, "loc": { "start": { "line": 240, "column": 3 }, "end": { "line": 240, "column": 41 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 5537, "end": 5548, "loc": { "start": { "line": 240, "column": 3 }, "end": { "line": 240, "column": 14 } }, "object": { "type": "Identifier", "start": 5537, "end": 5544, "loc": { "start": { "line": 240, "column": 3 }, "end": { "line": 240, "column": 10 }, "identifierName": "normals" }, "name": "normals" }, "property": { "type": "Identifier", "start": 5545, "end": 5547, "loc": { "start": { "line": 240, "column": 11 }, "end": { "line": 240, "column": 13 }, "identifierName": "iy" }, "name": "iy" }, "computed": true }, "right": { "type": "ConditionalExpression", "start": 5551, "end": 5575, "loc": { "start": { "line": 240, "column": 17 }, "end": { "line": 240, "column": 41 } }, "test": { "type": "Identifier", "start": 5551, "end": 5557, "loc": { "start": { "line": 240, "column": 17 }, "end": { "line": 240, "column": 23 }, "identifierName": "length" }, "name": "length" }, "consequent": { "type": "BinaryExpression", "start": 5560, "end": 5571, "loc": { "start": { "line": 240, "column": 26 }, "end": { "line": 240, "column": 37 } }, "left": { "type": "UnaryExpression", "start": 5560, "end": 5562, "loc": { "start": { "line": 240, "column": 26 }, "end": { "line": 240, "column": 28 } }, "operator": "-", "prefix": true, "argument": { "type": "Identifier", "start": 5561, "end": 5562, "loc": { "start": { "line": 240, "column": 27 }, "end": { "line": 240, "column": 28 }, "identifierName": "x" }, "name": "x" }, "extra": { "parenthesizedArgument": false } }, "operator": "/", "right": { "type": "Identifier", "start": 5565, "end": 5571, "loc": { "start": { "line": 240, "column": 31 }, "end": { "line": 240, "column": 37 }, "identifierName": "length" }, "name": "length" } }, "alternate": { "type": "NumericLiteral", "start": 5574, "end": 5575, "loc": { "start": { "line": 240, "column": 40 }, "end": { "line": 240, "column": 41 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } } } ], "directives": [] } }, { "type": "ExpressionStatement", "start": 5584, "end": 5612, "loc": { "start": { "line": 243, "column": 2 }, "end": { "line": 243, "column": 30 } }, "expression": { "type": "AssignmentExpression", "start": 5584, "end": 5611, "loc": { "start": { "line": 243, "column": 2 }, "end": { "line": 243, "column": 29 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 5584, "end": 5603, "loc": { "start": { "line": 243, "column": 2 }, "end": { "line": 243, "column": 21 } }, "object": { "type": "ThisExpression", "start": 5584, "end": 5588, "loc": { "start": { "line": 243, "column": 2 }, "end": { "line": 243, "column": 6 } } }, "property": { "type": "Identifier", "start": 5589, "end": 5603, "loc": { "start": { "line": 243, "column": 7 }, "end": { "line": 243, "column": 21 }, "identifierName": "_dirty_normals" }, "name": "_dirty_normals" }, "computed": false }, "right": { "type": "BooleanLiteral", "start": 5606, "end": 5611, "loc": { "start": { "line": 243, "column": 24 }, "end": { "line": 243, "column": 29 } }, "value": false } } } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * Calculates the normals and edges of the polygon's sides\n\t ", "start": 4973, "end": 5041, "loc": { "start": { "line": 222, "column": 1 }, "end": { "line": 224, "column": 4 } } } ] } ] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A polygon used to detect collisions\n * @class\n ", "start": 32, "end": 88, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 6, "column": 3 } } } ], "trailingComments": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A polygon used to detect collisions\n * @class\n ", "start": 32, "end": 88, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 6, "column": 3 } } } ] }, { "type": "EmptyStatement", "start": 5617, "end": 5618, "loc": { "start": { "line": 245, "column": 1 }, "end": { "line": 245, "column": 2 } } } ], "directives": [] }, "comments": [ { "type": "CommentBlock", "value": "*\n * A polygon used to detect collisions\n * @class\n ", "start": 32, "end": 88, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 6, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Array} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t * @param {Number} [angle = 0] The starting rotation in radians\n\t * @param {Number} [scale_x = 1] The starting scale along the X axis\n\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t ", "start": 134, "end": 703, "loc": { "start": { "line": 8, "column": 1 }, "end": { "line": 17, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The angle of the body in radians\n\t\t * @type {Number}\n\t\t ", "start": 823, "end": 896, "loc": { "start": { "line": 21, "column": 2 }, "end": { "line": 24, "column": 5 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The scale of the body along the X axis\n\t\t * @type {Number}\n\t\t ", "start": 922, "end": 1001, "loc": { "start": { "line": 27, "column": 2 }, "end": { "line": 30, "column": 5 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The scale of the body along the Y axis\n\t\t * @type {Number}\n\t\t ", "start": 1031, "end": 1110, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 36, "column": 5 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1141, "end": 1156, "loc": { "start": { "line": 40, "column": 2 }, "end": { "line": 40, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1184, "end": 1199, "loc": { "start": { "line": 43, "column": 2 }, "end": { "line": 43, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1218, "end": 1233, "loc": { "start": { "line": 46, "column": 2 }, "end": { "line": 46, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1252, "end": 1267, "loc": { "start": { "line": 49, "column": 2 }, "end": { "line": 49, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1294, "end": 1309, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1340, "end": 1355, "loc": { "start": { "line": 55, "column": 2 }, "end": { "line": 55, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1386, "end": 1401, "loc": { "start": { "line": 58, "column": 2 }, "end": { "line": 58, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1424, "end": 1439, "loc": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1462, "end": 1477, "loc": { "start": { "line": 64, "column": 2 }, "end": { "line": 64, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1500, "end": 1515, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1538, "end": 1553, "loc": { "start": { "line": 70, "column": 2 }, "end": { "line": 70, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1580, "end": 1595, "loc": { "start": { "line": 73, "column": 2 }, "end": { "line": 73, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1622, "end": 1637, "loc": { "start": { "line": 76, "column": 2 }, "end": { "line": 76, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1663, "end": 1678, "loc": { "start": { "line": 79, "column": 2 }, "end": { "line": 79, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1706, "end": 1721, "loc": { "start": { "line": 82, "column": 2 }, "end": { "line": 82, "column": 17 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1754, "end": 1769, "loc": { "start": { "line": 85, "column": 2 }, "end": { "line": 85, "column": 17 } } }, { "type": "CommentBlock", "value": "*\n\t * Draws the polygon to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to add the shape to\n\t ", "start": 1856, "end": 2009, "loc": { "start": { "line": 91, "column": 1 }, "end": { "line": 94, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated.\n\t * @param {Array} new_points An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t ", "start": 2660, "end": 2941, "loc": { "start": { "line": 126, "column": 1 }, "end": { "line": 129, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Calculates and caches the polygon's world coordinates based on its points, angle, and scale\n\t ", "start": 3429, "end": 3533, "loc": { "start": { "line": 150, "column": 1 }, "end": { "line": 152, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t * Calculates the normals and edges of the polygon's sides\n\t ", "start": 4973, "end": 5041, "loc": { "start": { "line": 222, "column": 1 }, "end": { "line": 224, "column": 4 } } } ], "tokens": [ { "type": { "label": "import", "keyword": "import", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "import", "start": 0, "end": 6, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Body", "start": 7, "end": 11, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 12, "end": 16, "loc": { "start": { "line": 1, "column": 12 }, "end": { "line": 1, "column": 16 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./Body.mjs", "start": 17, "end": 29, "loc": { "start": { "line": 1, "column": 17 }, "end": { "line": 1, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 29, "end": 30, "loc": { "start": { "line": 1, "column": 29 }, "end": { "line": 1, "column": 30 } } }, { "type": "CommentBlock", "value": "*\n * A polygon used to detect collisions\n * @class\n ", "start": 32, "end": 88, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 6, "column": 3 } } }, { "type": { "label": "export", "keyword": "export", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "export", "start": 89, "end": 95, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 7, "column": 6 } } }, { "type": { "label": "default", "keyword": "default", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "default", "start": 96, "end": 103, "loc": { "start": { "line": 7, "column": 7 }, "end": { "line": 7, "column": 14 } } }, { "type": { "label": "class", "keyword": "class", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "class", "start": 104, "end": 109, "loc": { "start": { "line": 7, "column": 15 }, "end": { "line": 7, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Polygon", "start": 110, "end": 117, "loc": { "start": { "line": 7, "column": 21 }, "end": { "line": 7, "column": 28 } } }, { "type": { "label": "extends", "keyword": "extends", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "extends", "start": 118, "end": 125, "loc": { "start": { "line": 7, "column": 29 }, "end": { "line": 7, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Body", "start": 126, "end": 130, "loc": { "start": { "line": 7, "column": 37 }, "end": { "line": 7, "column": 41 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 131, "end": 132, "loc": { "start": { "line": 7, "column": 42 }, "end": { "line": 7, "column": 43 } } }, { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Array} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t * @param {Number} [angle = 0] The starting rotation in radians\n\t * @param {Number} [scale_x = 1] The starting scale along the X axis\n\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t ", "start": 134, "end": 703, "loc": { "start": { "line": 8, "column": 1 }, "end": { "line": 17, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "constructor", "start": 705, "end": 716, "loc": { "start": { "line": 18, "column": 1 }, "end": { "line": 18, "column": 12 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 716, "end": 717, "loc": { "start": { "line": 18, "column": 12 }, "end": { "line": 18, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 717, "end": 718, "loc": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 719, "end": 720, "loc": { "start": { "line": 18, "column": 15 }, "end": { "line": 18, "column": 16 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 721, "end": 722, "loc": { "start": { "line": 18, "column": 17 }, "end": { "line": 18, "column": 18 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 722, "end": 723, "loc": { "start": { "line": 18, "column": 18 }, "end": { "line": 18, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 724, "end": 725, "loc": { "start": { "line": 18, "column": 20 }, "end": { "line": 18, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 726, "end": 727, "loc": { "start": { "line": 18, "column": 22 }, "end": { "line": 18, "column": 23 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 728, "end": 729, "loc": { "start": { "line": 18, "column": 24 }, "end": { "line": 18, "column": 25 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 729, "end": 730, "loc": { "start": { "line": 18, "column": 25 }, "end": { "line": 18, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "points", "start": 731, "end": 737, "loc": { "start": { "line": 18, "column": 27 }, "end": { "line": 18, "column": 33 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 738, "end": 739, "loc": { "start": { "line": 18, "column": 34 }, "end": { "line": 18, "column": 35 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 740, "end": 741, "loc": { "start": { "line": 18, "column": 36 }, "end": { "line": 18, "column": 37 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 741, "end": 742, "loc": { "start": { "line": 18, "column": 37 }, "end": { "line": 18, "column": 38 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 742, "end": 743, "loc": { "start": { "line": 18, "column": 38 }, "end": { "line": 18, "column": 39 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "angle", "start": 744, "end": 749, "loc": { "start": { "line": 18, "column": 40 }, "end": { "line": 18, "column": 45 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 750, "end": 751, "loc": { "start": { "line": 18, "column": 46 }, "end": { "line": 18, "column": 47 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 752, "end": 753, "loc": { "start": { "line": 18, "column": 48 }, "end": { "line": 18, "column": 49 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 753, "end": 754, "loc": { "start": { "line": 18, "column": 49 }, "end": { "line": 18, "column": 50 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_x", "start": 755, "end": 762, "loc": { "start": { "line": 18, "column": 51 }, "end": { "line": 18, "column": 58 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 763, "end": 764, "loc": { "start": { "line": 18, "column": 59 }, "end": { "line": 18, "column": 60 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 765, "end": 766, "loc": { "start": { "line": 18, "column": 61 }, "end": { "line": 18, "column": 62 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 766, "end": 767, "loc": { "start": { "line": 18, "column": 62 }, "end": { "line": 18, "column": 63 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_y", "start": 768, "end": 775, "loc": { "start": { "line": 18, "column": 64 }, "end": { "line": 18, "column": 71 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 776, "end": 777, "loc": { "start": { "line": 18, "column": 72 }, "end": { "line": 18, "column": 73 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 778, "end": 779, "loc": { "start": { "line": 18, "column": 74 }, "end": { "line": 18, "column": 75 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 779, "end": 780, "loc": { "start": { "line": 18, "column": 75 }, "end": { "line": 18, "column": 76 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 781, "end": 788, "loc": { "start": { "line": 18, "column": 77 }, "end": { "line": 18, "column": 84 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 789, "end": 790, "loc": { "start": { "line": 18, "column": 85 }, "end": { "line": 18, "column": 86 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 791, "end": 792, "loc": { "start": { "line": 18, "column": 87 }, "end": { "line": 18, "column": 88 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 792, "end": 793, "loc": { "start": { "line": 18, "column": 88 }, "end": { "line": 18, "column": 89 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 794, "end": 795, "loc": { "start": { "line": 18, "column": 90 }, "end": { "line": 18, "column": 91 } } }, { "type": { "label": "super", "keyword": "super", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "super", "start": 798, "end": 803, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 803, "end": 804, "loc": { "start": { "line": 19, "column": 7 }, "end": { "line": 19, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 804, "end": 805, "loc": { "start": { "line": 19, "column": 8 }, "end": { "line": 19, "column": 9 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 805, "end": 806, "loc": { "start": { "line": 19, "column": 9 }, "end": { "line": 19, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 807, "end": 808, "loc": { "start": { "line": 19, "column": 11 }, "end": { "line": 19, "column": 12 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 808, "end": 809, "loc": { "start": { "line": 19, "column": 12 }, "end": { "line": 19, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "padding", "start": 810, "end": 817, "loc": { "start": { "line": 19, "column": 14 }, "end": { "line": 19, "column": 21 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 817, "end": 818, "loc": { "start": { "line": 19, "column": 21 }, "end": { "line": 19, "column": 22 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 818, "end": 819, "loc": { "start": { "line": 19, "column": 22 }, "end": { "line": 19, "column": 23 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The angle of the body in radians\n\t\t * @type {Number}\n\t\t ", "start": 823, "end": 896, "loc": { "start": { "line": 21, "column": 2 }, "end": { "line": 24, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 899, "end": 903, "loc": { "start": { "line": 25, "column": 2 }, "end": { "line": 25, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 903, "end": 904, "loc": { "start": { "line": 25, "column": 6 }, "end": { "line": 25, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "angle", "start": 904, "end": 909, "loc": { "start": { "line": 25, "column": 7 }, "end": { "line": 25, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 910, "end": 911, "loc": { "start": { "line": 25, "column": 13 }, "end": { "line": 25, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "angle", "start": 912, "end": 917, "loc": { "start": { "line": 25, "column": 15 }, "end": { "line": 25, "column": 20 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 917, "end": 918, "loc": { "start": { "line": 25, "column": 20 }, "end": { "line": 25, "column": 21 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The scale of the body along the X axis\n\t\t * @type {Number}\n\t\t ", "start": 922, "end": 1001, "loc": { "start": { "line": 27, "column": 2 }, "end": { "line": 30, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1004, "end": 1008, "loc": { "start": { "line": 31, "column": 2 }, "end": { "line": 31, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1008, "end": 1009, "loc": { "start": { "line": 31, "column": 6 }, "end": { "line": 31, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_x", "start": 1009, "end": 1016, "loc": { "start": { "line": 31, "column": 7 }, "end": { "line": 31, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1017, "end": 1018, "loc": { "start": { "line": 31, "column": 15 }, "end": { "line": 31, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_x", "start": 1019, "end": 1026, "loc": { "start": { "line": 31, "column": 17 }, "end": { "line": 31, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1026, "end": 1027, "loc": { "start": { "line": 31, "column": 24 }, "end": { "line": 31, "column": 25 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The scale of the body along the Y axis\n\t\t * @type {Number}\n\t\t ", "start": 1031, "end": 1110, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 36, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1113, "end": 1117, "loc": { "start": { "line": 37, "column": 2 }, "end": { "line": 37, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1117, "end": 1118, "loc": { "start": { "line": 37, "column": 6 }, "end": { "line": 37, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_y", "start": 1118, "end": 1125, "loc": { "start": { "line": 37, "column": 7 }, "end": { "line": 37, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1126, "end": 1127, "loc": { "start": { "line": 37, "column": 15 }, "end": { "line": 37, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_y", "start": 1128, "end": 1135, "loc": { "start": { "line": 37, "column": 17 }, "end": { "line": 37, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1135, "end": 1136, "loc": { "start": { "line": 37, "column": 24 }, "end": { "line": 37, "column": 25 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1141, "end": 1156, "loc": { "start": { "line": 40, "column": 2 }, "end": { "line": 40, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1159, "end": 1163, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1163, "end": 1164, "loc": { "start": { "line": 41, "column": 6 }, "end": { "line": 41, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_polygon", "start": 1164, "end": 1172, "loc": { "start": { "line": 41, "column": 7 }, "end": { "line": 41, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1173, "end": 1174, "loc": { "start": { "line": 41, "column": 16 }, "end": { "line": 41, "column": 17 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 1175, "end": 1179, "loc": { "start": { "line": 41, "column": 18 }, "end": { "line": 41, "column": 22 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1179, "end": 1180, "loc": { "start": { "line": 41, "column": 22 }, "end": { "line": 41, "column": 23 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1184, "end": 1199, "loc": { "start": { "line": 43, "column": 2 }, "end": { "line": 43, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1202, "end": 1206, "loc": { "start": { "line": 44, "column": 2 }, "end": { "line": 44, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1206, "end": 1207, "loc": { "start": { "line": 44, "column": 6 }, "end": { "line": 44, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_x", "start": 1207, "end": 1209, "loc": { "start": { "line": 44, "column": 7 }, "end": { "line": 44, "column": 9 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1210, "end": 1211, "loc": { "start": { "line": 44, "column": 10 }, "end": { "line": 44, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 1212, "end": 1213, "loc": { "start": { "line": 44, "column": 12 }, "end": { "line": 44, "column": 13 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1213, "end": 1214, "loc": { "start": { "line": 44, "column": 13 }, "end": { "line": 44, "column": 14 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1218, "end": 1233, "loc": { "start": { "line": 46, "column": 2 }, "end": { "line": 46, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1236, "end": 1240, "loc": { "start": { "line": 47, "column": 2 }, "end": { "line": 47, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1240, "end": 1241, "loc": { "start": { "line": 47, "column": 6 }, "end": { "line": 47, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_y", "start": 1241, "end": 1243, "loc": { "start": { "line": 47, "column": 7 }, "end": { "line": 47, "column": 9 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1244, "end": 1245, "loc": { "start": { "line": 47, "column": 10 }, "end": { "line": 47, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 1246, "end": 1247, "loc": { "start": { "line": 47, "column": 12 }, "end": { "line": 47, "column": 13 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1247, "end": 1248, "loc": { "start": { "line": 47, "column": 13 }, "end": { "line": 47, "column": 14 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1252, "end": 1267, "loc": { "start": { "line": 49, "column": 2 }, "end": { "line": 49, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1270, "end": 1274, "loc": { "start": { "line": 50, "column": 2 }, "end": { "line": 50, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1274, "end": 1275, "loc": { "start": { "line": 50, "column": 6 }, "end": { "line": 50, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_angle", "start": 1275, "end": 1281, "loc": { "start": { "line": 50, "column": 7 }, "end": { "line": 50, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1282, "end": 1283, "loc": { "start": { "line": 50, "column": 14 }, "end": { "line": 50, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "angle", "start": 1284, "end": 1289, "loc": { "start": { "line": 50, "column": 16 }, "end": { "line": 50, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1289, "end": 1290, "loc": { "start": { "line": 50, "column": 21 }, "end": { "line": 50, "column": 22 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1294, "end": 1309, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1312, "end": 1316, "loc": { "start": { "line": 53, "column": 2 }, "end": { "line": 53, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1316, "end": 1317, "loc": { "start": { "line": 53, "column": 6 }, "end": { "line": 53, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_scale_x", "start": 1317, "end": 1325, "loc": { "start": { "line": 53, "column": 7 }, "end": { "line": 53, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1326, "end": 1327, "loc": { "start": { "line": 53, "column": 16 }, "end": { "line": 53, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_x", "start": 1328, "end": 1335, "loc": { "start": { "line": 53, "column": 18 }, "end": { "line": 53, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1335, "end": 1336, "loc": { "start": { "line": 53, "column": 25 }, "end": { "line": 53, "column": 26 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1340, "end": 1355, "loc": { "start": { "line": 55, "column": 2 }, "end": { "line": 55, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1358, "end": 1362, "loc": { "start": { "line": 56, "column": 2 }, "end": { "line": 56, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1362, "end": 1363, "loc": { "start": { "line": 56, "column": 6 }, "end": { "line": 56, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_scale_y", "start": 1363, "end": 1371, "loc": { "start": { "line": 56, "column": 7 }, "end": { "line": 56, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1372, "end": 1373, "loc": { "start": { "line": 56, "column": 16 }, "end": { "line": 56, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_y", "start": 1374, "end": 1381, "loc": { "start": { "line": 56, "column": 18 }, "end": { "line": 56, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1381, "end": 1382, "loc": { "start": { "line": 56, "column": 25 }, "end": { "line": 56, "column": 26 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1386, "end": 1401, "loc": { "start": { "line": 58, "column": 2 }, "end": { "line": 58, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1404, "end": 1408, "loc": { "start": { "line": 59, "column": 2 }, "end": { "line": 59, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1408, "end": 1409, "loc": { "start": { "line": 59, "column": 6 }, "end": { "line": 59, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_min_x", "start": 1409, "end": 1415, "loc": { "start": { "line": 59, "column": 7 }, "end": { "line": 59, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1416, "end": 1417, "loc": { "start": { "line": 59, "column": 14 }, "end": { "line": 59, "column": 15 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1418, "end": 1419, "loc": { "start": { "line": 59, "column": 16 }, "end": { "line": 59, "column": 17 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1419, "end": 1420, "loc": { "start": { "line": 59, "column": 17 }, "end": { "line": 59, "column": 18 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1424, "end": 1439, "loc": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1442, "end": 1446, "loc": { "start": { "line": 62, "column": 2 }, "end": { "line": 62, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1446, "end": 1447, "loc": { "start": { "line": 62, "column": 6 }, "end": { "line": 62, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_min_y", "start": 1447, "end": 1453, "loc": { "start": { "line": 62, "column": 7 }, "end": { "line": 62, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1454, "end": 1455, "loc": { "start": { "line": 62, "column": 14 }, "end": { "line": 62, "column": 15 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1456, "end": 1457, "loc": { "start": { "line": 62, "column": 16 }, "end": { "line": 62, "column": 17 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1457, "end": 1458, "loc": { "start": { "line": 62, "column": 17 }, "end": { "line": 62, "column": 18 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1462, "end": 1477, "loc": { "start": { "line": 64, "column": 2 }, "end": { "line": 64, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1480, "end": 1484, "loc": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1484, "end": 1485, "loc": { "start": { "line": 65, "column": 6 }, "end": { "line": 65, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_max_x", "start": 1485, "end": 1491, "loc": { "start": { "line": 65, "column": 7 }, "end": { "line": 65, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1492, "end": 1493, "loc": { "start": { "line": 65, "column": 14 }, "end": { "line": 65, "column": 15 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1494, "end": 1495, "loc": { "start": { "line": 65, "column": 16 }, "end": { "line": 65, "column": 17 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1495, "end": 1496, "loc": { "start": { "line": 65, "column": 17 }, "end": { "line": 65, "column": 18 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1500, "end": 1515, "loc": { "start": { "line": 67, "column": 2 }, "end": { "line": 67, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1518, "end": 1522, "loc": { "start": { "line": 68, "column": 2 }, "end": { "line": 68, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1522, "end": 1523, "loc": { "start": { "line": 68, "column": 6 }, "end": { "line": 68, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_max_y", "start": 1523, "end": 1529, "loc": { "start": { "line": 68, "column": 7 }, "end": { "line": 68, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1530, "end": 1531, "loc": { "start": { "line": 68, "column": 14 }, "end": { "line": 68, "column": 15 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1532, "end": 1533, "loc": { "start": { "line": 68, "column": 16 }, "end": { "line": 68, "column": 17 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1533, "end": 1534, "loc": { "start": { "line": 68, "column": 17 }, "end": { "line": 68, "column": 18 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1538, "end": 1553, "loc": { "start": { "line": 70, "column": 2 }, "end": { "line": 70, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1556, "end": 1560, "loc": { "start": { "line": 71, "column": 2 }, "end": { "line": 71, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1560, "end": 1561, "loc": { "start": { "line": 71, "column": 6 }, "end": { "line": 71, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_points", "start": 1561, "end": 1568, "loc": { "start": { "line": 71, "column": 7 }, "end": { "line": 71, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1569, "end": 1570, "loc": { "start": { "line": 71, "column": 15 }, "end": { "line": 71, "column": 16 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 1571, "end": 1575, "loc": { "start": { "line": 71, "column": 17 }, "end": { "line": 71, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1575, "end": 1576, "loc": { "start": { "line": 71, "column": 21 }, "end": { "line": 71, "column": 22 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1580, "end": 1595, "loc": { "start": { "line": 73, "column": 2 }, "end": { "line": 73, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1598, "end": 1602, "loc": { "start": { "line": 74, "column": 2 }, "end": { "line": 74, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1602, "end": 1603, "loc": { "start": { "line": 74, "column": 6 }, "end": { "line": 74, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_coords", "start": 1603, "end": 1610, "loc": { "start": { "line": 74, "column": 7 }, "end": { "line": 74, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1611, "end": 1612, "loc": { "start": { "line": 74, "column": 15 }, "end": { "line": 74, "column": 16 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 1613, "end": 1617, "loc": { "start": { "line": 74, "column": 17 }, "end": { "line": 74, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1617, "end": 1618, "loc": { "start": { "line": 74, "column": 21 }, "end": { "line": 74, "column": 22 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1622, "end": 1637, "loc": { "start": { "line": 76, "column": 2 }, "end": { "line": 76, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1640, "end": 1644, "loc": { "start": { "line": 77, "column": 2 }, "end": { "line": 77, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1644, "end": 1645, "loc": { "start": { "line": 77, "column": 6 }, "end": { "line": 77, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_edges", "start": 1645, "end": 1651, "loc": { "start": { "line": 77, "column": 7 }, "end": { "line": 77, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1652, "end": 1653, "loc": { "start": { "line": 77, "column": 14 }, "end": { "line": 77, "column": 15 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 1654, "end": 1658, "loc": { "start": { "line": 77, "column": 16 }, "end": { "line": 77, "column": 20 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1658, "end": 1659, "loc": { "start": { "line": 77, "column": 20 }, "end": { "line": 77, "column": 21 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1663, "end": 1678, "loc": { "start": { "line": 79, "column": 2 }, "end": { "line": 79, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1681, "end": 1685, "loc": { "start": { "line": 80, "column": 2 }, "end": { "line": 80, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1685, "end": 1686, "loc": { "start": { "line": 80, "column": 6 }, "end": { "line": 80, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_normals", "start": 1686, "end": 1694, "loc": { "start": { "line": 80, "column": 7 }, "end": { "line": 80, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1695, "end": 1696, "loc": { "start": { "line": 80, "column": 16 }, "end": { "line": 80, "column": 17 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 1697, "end": 1701, "loc": { "start": { "line": 80, "column": 18 }, "end": { "line": 80, "column": 22 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1701, "end": 1702, "loc": { "start": { "line": 80, "column": 22 }, "end": { "line": 80, "column": 23 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1706, "end": 1721, "loc": { "start": { "line": 82, "column": 2 }, "end": { "line": 82, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1724, "end": 1728, "loc": { "start": { "line": 83, "column": 2 }, "end": { "line": 83, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1728, "end": 1729, "loc": { "start": { "line": 83, "column": 6 }, "end": { "line": 83, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_dirty_coords", "start": 1729, "end": 1742, "loc": { "start": { "line": 83, "column": 7 }, "end": { "line": 83, "column": 20 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1743, "end": 1744, "loc": { "start": { "line": 83, "column": 21 }, "end": { "line": 83, "column": 22 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 1745, "end": 1749, "loc": { "start": { "line": 83, "column": 23 }, "end": { "line": 83, "column": 27 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1749, "end": 1750, "loc": { "start": { "line": 83, "column": 27 }, "end": { "line": 83, "column": 28 } } }, { "type": "CommentBlock", "value": "* @private ", "start": 1754, "end": 1769, "loc": { "start": { "line": 85, "column": 2 }, "end": { "line": 85, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1772, "end": 1776, "loc": { "start": { "line": 86, "column": 2 }, "end": { "line": 86, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1776, "end": 1777, "loc": { "start": { "line": 86, "column": 6 }, "end": { "line": 86, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_dirty_normals", "start": 1777, "end": 1791, "loc": { "start": { "line": 86, "column": 7 }, "end": { "line": 86, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1792, "end": 1793, "loc": { "start": { "line": 86, "column": 22 }, "end": { "line": 86, "column": 23 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 1794, "end": 1798, "loc": { "start": { "line": 86, "column": 24 }, "end": { "line": 86, "column": 28 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1798, "end": 1799, "loc": { "start": { "line": 86, "column": 28 }, "end": { "line": 86, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Polygon", "start": 1803, "end": 1810, "loc": { "start": { "line": 88, "column": 2 }, "end": { "line": 88, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1810, "end": 1811, "loc": { "start": { "line": 88, "column": 9 }, "end": { "line": 88, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "prototype", "start": 1811, "end": 1820, "loc": { "start": { "line": 88, "column": 10 }, "end": { "line": 88, "column": 19 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1820, "end": 1821, "loc": { "start": { "line": 88, "column": 19 }, "end": { "line": 88, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "setPoints", "start": 1821, "end": 1830, "loc": { "start": { "line": 88, "column": 20 }, "end": { "line": 88, "column": 29 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1830, "end": 1831, "loc": { "start": { "line": 88, "column": 29 }, "end": { "line": 88, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "call", "start": 1831, "end": 1835, "loc": { "start": { "line": 88, "column": 30 }, "end": { "line": 88, "column": 34 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1835, "end": 1836, "loc": { "start": { "line": 88, "column": 34 }, "end": { "line": 88, "column": 35 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1836, "end": 1840, "loc": { "start": { "line": 88, "column": 35 }, "end": { "line": 88, "column": 39 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1840, "end": 1841, "loc": { "start": { "line": 88, "column": 39 }, "end": { "line": 88, "column": 40 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "points", "start": 1842, "end": 1848, "loc": { "start": { "line": 88, "column": 41 }, "end": { "line": 88, "column": 47 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1848, "end": 1849, "loc": { "start": { "line": 88, "column": 47 }, "end": { "line": 88, "column": 48 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1849, "end": 1850, "loc": { "start": { "line": 88, "column": 48 }, "end": { "line": 88, "column": 49 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1852, "end": 1853, "loc": { "start": { "line": 89, "column": 1 }, "end": { "line": 89, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Draws the polygon to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to add the shape to\n\t ", "start": 1856, "end": 2009, "loc": { "start": { "line": 91, "column": 1 }, "end": { "line": 94, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "draw", "start": 2011, "end": 2015, "loc": { "start": { "line": 95, "column": 1 }, "end": { "line": 95, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2015, "end": 2016, "loc": { "start": { "line": 95, "column": 5 }, "end": { "line": 95, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 2016, "end": 2023, "loc": { "start": { "line": 95, "column": 6 }, "end": { "line": 95, "column": 13 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2023, "end": 2024, "loc": { "start": { "line": 95, "column": 13 }, "end": { "line": 95, "column": 14 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2025, "end": 2026, "loc": { "start": { "line": 95, "column": 15 }, "end": { "line": 95, "column": 16 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 2029, "end": 2031, "loc": { "start": { "line": 96, "column": 2 }, "end": { "line": 96, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2031, "end": 2032, "loc": { "start": { "line": 96, "column": 4 }, "end": { "line": 96, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2036, "end": 2040, "loc": { "start": { "line": 97, "column": 3 }, "end": { "line": 97, "column": 7 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2040, "end": 2041, "loc": { "start": { "line": 97, "column": 7 }, "end": { "line": 97, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_dirty_coords", "start": 2041, "end": 2054, "loc": { "start": { "line": 97, "column": 8 }, "end": { "line": 97, "column": 21 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 2055, "end": 2057, "loc": { "start": { "line": 97, "column": 22 }, "end": { "line": 97, "column": 24 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2061, "end": 2065, "loc": { "start": { "line": 98, "column": 3 }, "end": { "line": 98, "column": 7 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2065, "end": 2066, "loc": { "start": { "line": 98, "column": 7 }, "end": { "line": 98, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 2066, "end": 2067, "loc": { "start": { "line": 98, "column": 8 }, "end": { "line": 98, "column": 9 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 2074, "end": 2077, "loc": { "start": { "line": 98, "column": 16 }, "end": { "line": 98, "column": 19 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2078, "end": 2082, "loc": { "start": { "line": 98, "column": 20 }, "end": { "line": 98, "column": 24 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2082, "end": 2083, "loc": { "start": { "line": 98, "column": 24 }, "end": { "line": 98, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_x", "start": 2083, "end": 2085, "loc": { "start": { "line": 98, "column": 25 }, "end": { "line": 98, "column": 27 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 2086, "end": 2088, "loc": { "start": { "line": 98, "column": 28 }, "end": { "line": 98, "column": 30 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2092, "end": 2096, "loc": { "start": { "line": 99, "column": 3 }, "end": { "line": 99, "column": 7 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2096, "end": 2097, "loc": { "start": { "line": 99, "column": 7 }, "end": { "line": 99, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 2097, "end": 2098, "loc": { "start": { "line": 99, "column": 8 }, "end": { "line": 99, "column": 9 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 2105, "end": 2108, "loc": { "start": { "line": 99, "column": 16 }, "end": { "line": 99, "column": 19 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2109, "end": 2113, "loc": { "start": { "line": 99, "column": 20 }, "end": { "line": 99, "column": 24 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2113, "end": 2114, "loc": { "start": { "line": 99, "column": 24 }, "end": { "line": 99, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_y", "start": 2114, "end": 2116, "loc": { "start": { "line": 99, "column": 25 }, "end": { "line": 99, "column": 27 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 2117, "end": 2119, "loc": { "start": { "line": 99, "column": 28 }, "end": { "line": 99, "column": 30 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2123, "end": 2127, "loc": { "start": { "line": 100, "column": 3 }, "end": { "line": 100, "column": 7 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2127, "end": 2128, "loc": { "start": { "line": 100, "column": 7 }, "end": { "line": 100, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "angle", "start": 2128, "end": 2133, "loc": { "start": { "line": 100, "column": 8 }, "end": { "line": 100, "column": 13 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 2136, "end": 2139, "loc": { "start": { "line": 100, "column": 16 }, "end": { "line": 100, "column": 19 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2140, "end": 2144, "loc": { "start": { "line": 100, "column": 20 }, "end": { "line": 100, "column": 24 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2144, "end": 2145, "loc": { "start": { "line": 100, "column": 24 }, "end": { "line": 100, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_angle", "start": 2145, "end": 2151, "loc": { "start": { "line": 100, "column": 25 }, "end": { "line": 100, "column": 31 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 2152, "end": 2154, "loc": { "start": { "line": 100, "column": 32 }, "end": { "line": 100, "column": 34 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2158, "end": 2162, "loc": { "start": { "line": 101, "column": 3 }, "end": { "line": 101, "column": 7 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2162, "end": 2163, "loc": { "start": { "line": 101, "column": 7 }, "end": { "line": 101, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_x", "start": 2163, "end": 2170, "loc": { "start": { "line": 101, "column": 8 }, "end": { "line": 101, "column": 15 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 2171, "end": 2174, "loc": { "start": { "line": 101, "column": 16 }, "end": { "line": 101, "column": 19 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2175, "end": 2179, "loc": { "start": { "line": 101, "column": 20 }, "end": { "line": 101, "column": 24 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2179, "end": 2180, "loc": { "start": { "line": 101, "column": 24 }, "end": { "line": 101, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_scale_x", "start": 2180, "end": 2188, "loc": { "start": { "line": 101, "column": 25 }, "end": { "line": 101, "column": 33 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 2189, "end": 2191, "loc": { "start": { "line": 101, "column": 34 }, "end": { "line": 101, "column": 36 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2195, "end": 2199, "loc": { "start": { "line": 102, "column": 3 }, "end": { "line": 102, "column": 7 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2199, "end": 2200, "loc": { "start": { "line": 102, "column": 7 }, "end": { "line": 102, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_y", "start": 2200, "end": 2207, "loc": { "start": { "line": 102, "column": 8 }, "end": { "line": 102, "column": 15 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 2208, "end": 2211, "loc": { "start": { "line": 102, "column": 16 }, "end": { "line": 102, "column": 19 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2212, "end": 2216, "loc": { "start": { "line": 102, "column": 20 }, "end": { "line": 102, "column": 24 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2216, "end": 2217, "loc": { "start": { "line": 102, "column": 24 }, "end": { "line": 102, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_scale_y", "start": 2217, "end": 2225, "loc": { "start": { "line": 102, "column": 25 }, "end": { "line": 102, "column": 33 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2228, "end": 2229, "loc": { "start": { "line": 103, "column": 2 }, "end": { "line": 103, "column": 3 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2230, "end": 2231, "loc": { "start": { "line": 103, "column": 4 }, "end": { "line": 103, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2235, "end": 2239, "loc": { "start": { "line": 104, "column": 3 }, "end": { "line": 104, "column": 7 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2239, "end": 2240, "loc": { "start": { "line": 104, "column": 7 }, "end": { "line": 104, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_calculateCoords", "start": 2240, "end": 2256, "loc": { "start": { "line": 104, "column": 8 }, "end": { "line": 104, "column": 24 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2256, "end": 2257, "loc": { "start": { "line": 104, "column": 24 }, "end": { "line": 104, "column": 25 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2257, "end": 2258, "loc": { "start": { "line": 104, "column": 25 }, "end": { "line": 104, "column": 26 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2258, "end": 2259, "loc": { "start": { "line": 104, "column": 26 }, "end": { "line": 104, "column": 27 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2262, "end": 2263, "loc": { "start": { "line": 105, "column": 2 }, "end": { "line": 105, "column": 3 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2267, "end": 2272, "loc": { "start": { "line": 107, "column": 2 }, "end": { "line": 107, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 2273, "end": 2279, "loc": { "start": { "line": 107, "column": 8 }, "end": { "line": 107, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2280, "end": 2281, "loc": { "start": { "line": 107, "column": 15 }, "end": { "line": 107, "column": 16 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 2282, "end": 2286, "loc": { "start": { "line": 107, "column": 17 }, "end": { "line": 107, "column": 21 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2286, "end": 2287, "loc": { "start": { "line": 107, "column": 21 }, "end": { "line": 107, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_coords", "start": 2287, "end": 2294, "loc": { "start": { "line": 107, "column": 22 }, "end": { "line": 107, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2294, "end": 2295, "loc": { "start": { "line": 107, "column": 29 }, "end": { "line": 107, "column": 30 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 2299, "end": 2301, "loc": { "start": { "line": 109, "column": 2 }, "end": { "line": 109, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2301, "end": 2302, "loc": { "start": { "line": 109, "column": 4 }, "end": { "line": 109, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 2302, "end": 2308, "loc": { "start": { "line": 109, "column": 5 }, "end": { "line": 109, "column": 11 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2308, "end": 2309, "loc": { "start": { "line": 109, "column": 11 }, "end": { "line": 109, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 2309, "end": 2315, "loc": { "start": { "line": 109, "column": 12 }, "end": { "line": 109, "column": 18 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 2316, "end": 2319, "loc": { "start": { "line": 109, "column": 19 }, "end": { "line": 109, "column": 22 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 2320, "end": 2321, "loc": { "start": { "line": 109, "column": 23 }, "end": { "line": 109, "column": 24 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2321, "end": 2322, "loc": { "start": { "line": 109, "column": 24 }, "end": { "line": 109, "column": 25 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2323, "end": 2324, "loc": { "start": { "line": 109, "column": 26 }, "end": { "line": 109, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 2328, "end": 2335, "loc": { "start": { "line": 110, "column": 3 }, "end": { "line": 110, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2335, "end": 2336, "loc": { "start": { "line": 110, "column": 10 }, "end": { "line": 110, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "moveTo", "start": 2336, "end": 2342, "loc": { "start": { "line": 110, "column": 11 }, "end": { "line": 110, "column": 17 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2342, "end": 2343, "loc": { "start": { "line": 110, "column": 17 }, "end": { "line": 110, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 2343, "end": 2349, "loc": { "start": { "line": 110, "column": 18 }, "end": { "line": 110, "column": 24 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2349, "end": 2350, "loc": { "start": { "line": 110, "column": 24 }, "end": { "line": 110, "column": 25 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 2350, "end": 2351, "loc": { "start": { "line": 110, "column": 25 }, "end": { "line": 110, "column": 26 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2351, "end": 2352, "loc": { "start": { "line": 110, "column": 26 }, "end": { "line": 110, "column": 27 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2352, "end": 2353, "loc": { "start": { "line": 110, "column": 27 }, "end": { "line": 110, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 2354, "end": 2360, "loc": { "start": { "line": 110, "column": 29 }, "end": { "line": 110, "column": 35 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2360, "end": 2361, "loc": { "start": { "line": 110, "column": 35 }, "end": { "line": 110, "column": 36 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 2361, "end": 2362, "loc": { "start": { "line": 110, "column": 36 }, "end": { "line": 110, "column": 37 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2362, "end": 2363, "loc": { "start": { "line": 110, "column": 37 }, "end": { "line": 110, "column": 38 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2363, "end": 2364, "loc": { "start": { "line": 110, "column": 38 }, "end": { "line": 110, "column": 39 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2364, "end": 2365, "loc": { "start": { "line": 110, "column": 39 }, "end": { "line": 110, "column": 40 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 2369, "end": 2376, "loc": { "start": { "line": 111, "column": 3 }, "end": { "line": 111, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2376, "end": 2377, "loc": { "start": { "line": 111, "column": 10 }, "end": { "line": 111, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "arc", "start": 2377, "end": 2380, "loc": { "start": { "line": 111, "column": 11 }, "end": { "line": 111, "column": 14 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2380, "end": 2381, "loc": { "start": { "line": 111, "column": 14 }, "end": { "line": 111, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 2381, "end": 2387, "loc": { "start": { "line": 111, "column": 15 }, "end": { "line": 111, "column": 21 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2387, "end": 2388, "loc": { "start": { "line": 111, "column": 21 }, "end": { "line": 111, "column": 22 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 2388, "end": 2389, "loc": { "start": { "line": 111, "column": 22 }, "end": { "line": 111, "column": 23 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2389, "end": 2390, "loc": { "start": { "line": 111, "column": 23 }, "end": { "line": 111, "column": 24 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2390, "end": 2391, "loc": { "start": { "line": 111, "column": 24 }, "end": { "line": 111, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 2392, "end": 2398, "loc": { "start": { "line": 111, "column": 26 }, "end": { "line": 111, "column": 32 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2398, "end": 2399, "loc": { "start": { "line": 111, "column": 32 }, "end": { "line": 111, "column": 33 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 2399, "end": 2400, "loc": { "start": { "line": 111, "column": 33 }, "end": { "line": 111, "column": 34 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2400, "end": 2401, "loc": { "start": { "line": 111, "column": 34 }, "end": { "line": 111, "column": 35 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2401, "end": 2402, "loc": { "start": { "line": 111, "column": 35 }, "end": { "line": 111, "column": 36 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 2403, "end": 2404, "loc": { "start": { "line": 111, "column": 37 }, "end": { "line": 111, "column": 38 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2404, "end": 2405, "loc": { "start": { "line": 111, "column": 38 }, "end": { "line": 111, "column": 39 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 2406, "end": 2407, "loc": { "start": { "line": 111, "column": 40 }, "end": { "line": 111, "column": 41 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2407, "end": 2408, "loc": { "start": { "line": 111, "column": 41 }, "end": { "line": 111, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Math", "start": 2409, "end": 2413, "loc": { "start": { "line": 111, "column": 43 }, "end": { "line": 111, "column": 47 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2413, "end": 2414, "loc": { "start": { "line": 111, "column": 47 }, "end": { "line": 111, "column": 48 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "PI", "start": 2414, "end": 2416, "loc": { "start": { "line": 111, "column": 48 }, "end": { "line": 111, "column": 50 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 2417, "end": 2418, "loc": { "start": { "line": 111, "column": 51 }, "end": { "line": 111, "column": 52 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 2419, "end": 2420, "loc": { "start": { "line": 111, "column": 53 }, "end": { "line": 111, "column": 54 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2420, "end": 2421, "loc": { "start": { "line": 111, "column": 54 }, "end": { "line": 111, "column": 55 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2421, "end": 2422, "loc": { "start": { "line": 111, "column": 55 }, "end": { "line": 111, "column": 56 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2425, "end": 2426, "loc": { "start": { "line": 112, "column": 2 }, "end": { "line": 112, "column": 3 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 2429, "end": 2433, "loc": { "start": { "line": 113, "column": 2 }, "end": { "line": 113, "column": 6 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2434, "end": 2435, "loc": { "start": { "line": 113, "column": 7 }, "end": { "line": 113, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 2439, "end": 2446, "loc": { "start": { "line": 114, "column": 3 }, "end": { "line": 114, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2446, "end": 2447, "loc": { "start": { "line": 114, "column": 10 }, "end": { "line": 114, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "moveTo", "start": 2447, "end": 2453, "loc": { "start": { "line": 114, "column": 11 }, "end": { "line": 114, "column": 17 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2453, "end": 2454, "loc": { "start": { "line": 114, "column": 17 }, "end": { "line": 114, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 2454, "end": 2460, "loc": { "start": { "line": 114, "column": 18 }, "end": { "line": 114, "column": 24 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2460, "end": 2461, "loc": { "start": { "line": 114, "column": 24 }, "end": { "line": 114, "column": 25 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 2461, "end": 2462, "loc": { "start": { "line": 114, "column": 25 }, "end": { "line": 114, "column": 26 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2462, "end": 2463, "loc": { "start": { "line": 114, "column": 26 }, "end": { "line": 114, "column": 27 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2463, "end": 2464, "loc": { "start": { "line": 114, "column": 27 }, "end": { "line": 114, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 2465, "end": 2471, "loc": { "start": { "line": 114, "column": 29 }, "end": { "line": 114, "column": 35 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2471, "end": 2472, "loc": { "start": { "line": 114, "column": 35 }, "end": { "line": 114, "column": 36 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 2472, "end": 2473, "loc": { "start": { "line": 114, "column": 36 }, "end": { "line": 114, "column": 37 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2473, "end": 2474, "loc": { "start": { "line": 114, "column": 37 }, "end": { "line": 114, "column": 38 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2474, "end": 2475, "loc": { "start": { "line": 114, "column": 38 }, "end": { "line": 114, "column": 39 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2475, "end": 2476, "loc": { "start": { "line": 114, "column": 39 }, "end": { "line": 114, "column": 40 } } }, { "type": { "label": "for", "keyword": "for", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "for", "start": 2481, "end": 2484, "loc": { "start": { "line": 116, "column": 3 }, "end": { "line": 116, "column": 6 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2484, "end": 2485, "loc": { "start": { "line": 116, "column": 6 }, "end": { "line": 116, "column": 7 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 2485, "end": 2488, "loc": { "start": { "line": 116, "column": 7 }, "end": { "line": 116, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 2489, "end": 2490, "loc": { "start": { "line": 116, "column": 11 }, "end": { "line": 116, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2491, "end": 2492, "loc": { "start": { "line": 116, "column": 13 }, "end": { "line": 116, "column": 14 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 2493, "end": 2494, "loc": { "start": { "line": 116, "column": 15 }, "end": { "line": 116, "column": 16 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2494, "end": 2495, "loc": { "start": { "line": 116, "column": 16 }, "end": { "line": 116, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 2496, "end": 2497, "loc": { "start": { "line": 116, "column": 18 }, "end": { "line": 116, "column": 19 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 2498, "end": 2499, "loc": { "start": { "line": 116, "column": 20 }, "end": { "line": 116, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 2500, "end": 2506, "loc": { "start": { "line": 116, "column": 22 }, "end": { "line": 116, "column": 28 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2506, "end": 2507, "loc": { "start": { "line": 116, "column": 28 }, "end": { "line": 116, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 2507, "end": 2513, "loc": { "start": { "line": 116, "column": 29 }, "end": { "line": 116, "column": 35 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2513, "end": 2514, "loc": { "start": { "line": 116, "column": 35 }, "end": { "line": 116, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 2515, "end": 2516, "loc": { "start": { "line": 116, "column": 37 }, "end": { "line": 116, "column": 38 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 2517, "end": 2519, "loc": { "start": { "line": 116, "column": 39 }, "end": { "line": 116, "column": 41 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 2520, "end": 2521, "loc": { "start": { "line": 116, "column": 42 }, "end": { "line": 116, "column": 43 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2521, "end": 2522, "loc": { "start": { "line": 116, "column": 43 }, "end": { "line": 116, "column": 44 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2523, "end": 2524, "loc": { "start": { "line": 116, "column": 45 }, "end": { "line": 116, "column": 46 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 2529, "end": 2536, "loc": { "start": { "line": 117, "column": 4 }, "end": { "line": 117, "column": 11 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2536, "end": 2537, "loc": { "start": { "line": 117, "column": 11 }, "end": { "line": 117, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "lineTo", "start": 2537, "end": 2543, "loc": { "start": { "line": 117, "column": 12 }, "end": { "line": 117, "column": 18 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2543, "end": 2544, "loc": { "start": { "line": 117, "column": 18 }, "end": { "line": 117, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 2544, "end": 2550, "loc": { "start": { "line": 117, "column": 19 }, "end": { "line": 117, "column": 25 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2550, "end": 2551, "loc": { "start": { "line": 117, "column": 25 }, "end": { "line": 117, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 2551, "end": 2552, "loc": { "start": { "line": 117, "column": 26 }, "end": { "line": 117, "column": 27 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2552, "end": 2553, "loc": { "start": { "line": 117, "column": 27 }, "end": { "line": 117, "column": 28 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2553, "end": 2554, "loc": { "start": { "line": 117, "column": 28 }, "end": { "line": 117, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 2555, "end": 2561, "loc": { "start": { "line": 117, "column": 30 }, "end": { "line": 117, "column": 36 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2561, "end": 2562, "loc": { "start": { "line": 117, "column": 36 }, "end": { "line": 117, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 2562, "end": 2563, "loc": { "start": { "line": 117, "column": 37 }, "end": { "line": 117, "column": 38 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 2564, "end": 2565, "loc": { "start": { "line": 117, "column": 39 }, "end": { "line": 117, "column": 40 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 2566, "end": 2567, "loc": { "start": { "line": 117, "column": 41 }, "end": { "line": 117, "column": 42 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2567, "end": 2568, "loc": { "start": { "line": 117, "column": 42 }, "end": { "line": 117, "column": 43 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2568, "end": 2569, "loc": { "start": { "line": 117, "column": 43 }, "end": { "line": 117, "column": 44 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2569, "end": 2570, "loc": { "start": { "line": 117, "column": 44 }, "end": { "line": 117, "column": 45 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2574, "end": 2575, "loc": { "start": { "line": 118, "column": 3 }, "end": { "line": 118, "column": 4 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 2580, "end": 2582, "loc": { "start": { "line": 120, "column": 3 }, "end": { "line": 120, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2582, "end": 2583, "loc": { "start": { "line": 120, "column": 5 }, "end": { "line": 120, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 2583, "end": 2589, "loc": { "start": { "line": 120, "column": 6 }, "end": { "line": 120, "column": 12 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2589, "end": 2590, "loc": { "start": { "line": 120, "column": 12 }, "end": { "line": 120, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 2590, "end": 2596, "loc": { "start": { "line": 120, "column": 13 }, "end": { "line": 120, "column": 19 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 2597, "end": 2598, "loc": { "start": { "line": 120, "column": 20 }, "end": { "line": 120, "column": 21 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 4, "start": 2599, "end": 2600, "loc": { "start": { "line": 120, "column": 22 }, "end": { "line": 120, "column": 23 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2600, "end": 2601, "loc": { "start": { "line": 120, "column": 23 }, "end": { "line": 120, "column": 24 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2602, "end": 2603, "loc": { "start": { "line": 120, "column": 25 }, "end": { "line": 120, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "context", "start": 2608, "end": 2615, "loc": { "start": { "line": 121, "column": 4 }, "end": { "line": 121, "column": 11 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2615, "end": 2616, "loc": { "start": { "line": 121, "column": 11 }, "end": { "line": 121, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "lineTo", "start": 2616, "end": 2622, "loc": { "start": { "line": 121, "column": 12 }, "end": { "line": 121, "column": 18 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2622, "end": 2623, "loc": { "start": { "line": 121, "column": 18 }, "end": { "line": 121, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 2623, "end": 2629, "loc": { "start": { "line": 121, "column": 19 }, "end": { "line": 121, "column": 25 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2629, "end": 2630, "loc": { "start": { "line": 121, "column": 25 }, "end": { "line": 121, "column": 26 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 2630, "end": 2631, "loc": { "start": { "line": 121, "column": 26 }, "end": { "line": 121, "column": 27 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2631, "end": 2632, "loc": { "start": { "line": 121, "column": 27 }, "end": { "line": 121, "column": 28 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2632, "end": 2633, "loc": { "start": { "line": 121, "column": 28 }, "end": { "line": 121, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 2634, "end": 2640, "loc": { "start": { "line": 121, "column": 30 }, "end": { "line": 121, "column": 36 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2640, "end": 2641, "loc": { "start": { "line": 121, "column": 36 }, "end": { "line": 121, "column": 37 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 2641, "end": 2642, "loc": { "start": { "line": 121, "column": 37 }, "end": { "line": 121, "column": 38 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2642, "end": 2643, "loc": { "start": { "line": 121, "column": 38 }, "end": { "line": 121, "column": 39 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2643, "end": 2644, "loc": { "start": { "line": 121, "column": 39 }, "end": { "line": 121, "column": 40 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2644, "end": 2645, "loc": { "start": { "line": 121, "column": 40 }, "end": { "line": 121, "column": 41 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2649, "end": 2650, "loc": { "start": { "line": 122, "column": 3 }, "end": { "line": 122, "column": 4 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2653, "end": 2654, "loc": { "start": { "line": 123, "column": 2 }, "end": { "line": 123, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2656, "end": 2657, "loc": { "start": { "line": 124, "column": 1 }, "end": { "line": 124, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated.\n\t * @param {Array} new_points An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t ", "start": 2660, "end": 2941, "loc": { "start": { "line": 126, "column": 1 }, "end": { "line": 129, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "setPoints", "start": 2943, "end": 2952, "loc": { "start": { "line": 130, "column": 1 }, "end": { "line": 130, "column": 10 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2952, "end": 2953, "loc": { "start": { "line": 130, "column": 10 }, "end": { "line": 130, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_points", "start": 2953, "end": 2963, "loc": { "start": { "line": 130, "column": 11 }, "end": { "line": 130, "column": 21 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2963, "end": 2964, "loc": { "start": { "line": 130, "column": 21 }, "end": { "line": 130, "column": 22 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2965, "end": 2966, "loc": { "start": { "line": 130, "column": 23 }, "end": { "line": 130, "column": 24 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2969, "end": 2974, "loc": { "start": { "line": 131, "column": 2 }, "end": { "line": 131, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 2975, "end": 2980, "loc": { "start": { "line": 131, "column": 8 }, "end": { "line": 131, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2981, "end": 2982, "loc": { "start": { "line": 131, "column": 14 }, "end": { "line": 131, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_points", "start": 2983, "end": 2993, "loc": { "start": { "line": 131, "column": 16 }, "end": { "line": 131, "column": 26 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2993, "end": 2994, "loc": { "start": { "line": 131, "column": 26 }, "end": { "line": 131, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 2994, "end": 3000, "loc": { "start": { "line": 131, "column": 27 }, "end": { "line": 131, "column": 33 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3000, "end": 3001, "loc": { "start": { "line": 131, "column": 33 }, "end": { "line": 131, "column": 34 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3005, "end": 3009, "loc": { "start": { "line": 133, "column": 2 }, "end": { "line": 133, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3009, "end": 3010, "loc": { "start": { "line": 133, "column": 6 }, "end": { "line": 133, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_points", "start": 3010, "end": 3017, "loc": { "start": { "line": 133, "column": 7 }, "end": { "line": 133, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3019, "end": 3020, "loc": { "start": { "line": 133, "column": 16 }, "end": { "line": 133, "column": 17 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 3021, "end": 3024, "loc": { "start": { "line": 133, "column": 18 }, "end": { "line": 133, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Float64Array", "start": 3025, "end": 3037, "loc": { "start": { "line": 133, "column": 22 }, "end": { "line": 133, "column": 34 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3037, "end": 3038, "loc": { "start": { "line": 133, "column": 34 }, "end": { "line": 133, "column": 35 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 3038, "end": 3043, "loc": { "start": { "line": 133, "column": 35 }, "end": { "line": 133, "column": 40 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 3044, "end": 3045, "loc": { "start": { "line": 133, "column": 41 }, "end": { "line": 133, "column": 42 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 3046, "end": 3047, "loc": { "start": { "line": 133, "column": 43 }, "end": { "line": 133, "column": 44 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3047, "end": 3048, "loc": { "start": { "line": 133, "column": 44 }, "end": { "line": 133, "column": 45 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3048, "end": 3049, "loc": { "start": { "line": 133, "column": 45 }, "end": { "line": 133, "column": 46 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3052, "end": 3056, "loc": { "start": { "line": 134, "column": 2 }, "end": { "line": 134, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3056, "end": 3057, "loc": { "start": { "line": 134, "column": 6 }, "end": { "line": 134, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_coords", "start": 3057, "end": 3064, "loc": { "start": { "line": 134, "column": 7 }, "end": { "line": 134, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3066, "end": 3067, "loc": { "start": { "line": 134, "column": 16 }, "end": { "line": 134, "column": 17 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 3068, "end": 3071, "loc": { "start": { "line": 134, "column": 18 }, "end": { "line": 134, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Float64Array", "start": 3072, "end": 3084, "loc": { "start": { "line": 134, "column": 22 }, "end": { "line": 134, "column": 34 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3084, "end": 3085, "loc": { "start": { "line": 134, "column": 34 }, "end": { "line": 134, "column": 35 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 3085, "end": 3090, "loc": { "start": { "line": 134, "column": 35 }, "end": { "line": 134, "column": 40 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 3091, "end": 3092, "loc": { "start": { "line": 134, "column": 41 }, "end": { "line": 134, "column": 42 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 3093, "end": 3094, "loc": { "start": { "line": 134, "column": 43 }, "end": { "line": 134, "column": 44 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3094, "end": 3095, "loc": { "start": { "line": 134, "column": 44 }, "end": { "line": 134, "column": 45 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3095, "end": 3096, "loc": { "start": { "line": 134, "column": 45 }, "end": { "line": 134, "column": 46 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3099, "end": 3103, "loc": { "start": { "line": 135, "column": 2 }, "end": { "line": 135, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3103, "end": 3104, "loc": { "start": { "line": 135, "column": 6 }, "end": { "line": 135, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_edges", "start": 3104, "end": 3110, "loc": { "start": { "line": 135, "column": 7 }, "end": { "line": 135, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3113, "end": 3114, "loc": { "start": { "line": 135, "column": 16 }, "end": { "line": 135, "column": 17 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 3115, "end": 3118, "loc": { "start": { "line": 135, "column": 18 }, "end": { "line": 135, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Float64Array", "start": 3119, "end": 3131, "loc": { "start": { "line": 135, "column": 22 }, "end": { "line": 135, "column": 34 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3131, "end": 3132, "loc": { "start": { "line": 135, "column": 34 }, "end": { "line": 135, "column": 35 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 3132, "end": 3137, "loc": { "start": { "line": 135, "column": 35 }, "end": { "line": 135, "column": 40 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 3138, "end": 3139, "loc": { "start": { "line": 135, "column": 41 }, "end": { "line": 135, "column": 42 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 3140, "end": 3141, "loc": { "start": { "line": 135, "column": 43 }, "end": { "line": 135, "column": 44 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3141, "end": 3142, "loc": { "start": { "line": 135, "column": 44 }, "end": { "line": 135, "column": 45 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3142, "end": 3143, "loc": { "start": { "line": 135, "column": 45 }, "end": { "line": 135, "column": 46 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3146, "end": 3150, "loc": { "start": { "line": 136, "column": 2 }, "end": { "line": 136, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3150, "end": 3151, "loc": { "start": { "line": 136, "column": 6 }, "end": { "line": 136, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_normals", "start": 3151, "end": 3159, "loc": { "start": { "line": 136, "column": 7 }, "end": { "line": 136, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3160, "end": 3161, "loc": { "start": { "line": 136, "column": 16 }, "end": { "line": 136, "column": 17 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 3162, "end": 3165, "loc": { "start": { "line": 136, "column": 18 }, "end": { "line": 136, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Float64Array", "start": 3166, "end": 3178, "loc": { "start": { "line": 136, "column": 22 }, "end": { "line": 136, "column": 34 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3178, "end": 3179, "loc": { "start": { "line": 136, "column": 34 }, "end": { "line": 136, "column": 35 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 3179, "end": 3184, "loc": { "start": { "line": 136, "column": 35 }, "end": { "line": 136, "column": 40 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 3185, "end": 3186, "loc": { "start": { "line": 136, "column": 41 }, "end": { "line": 136, "column": 42 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 3187, "end": 3188, "loc": { "start": { "line": 136, "column": 43 }, "end": { "line": 136, "column": 44 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3188, "end": 3189, "loc": { "start": { "line": 136, "column": 44 }, "end": { "line": 136, "column": 45 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3189, "end": 3190, "loc": { "start": { "line": 136, "column": 45 }, "end": { "line": 136, "column": 46 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3194, "end": 3199, "loc": { "start": { "line": 138, "column": 2 }, "end": { "line": 138, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "points", "start": 3200, "end": 3206, "loc": { "start": { "line": 138, "column": 8 }, "end": { "line": 138, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3207, "end": 3208, "loc": { "start": { "line": 138, "column": 15 }, "end": { "line": 138, "column": 16 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3209, "end": 3213, "loc": { "start": { "line": 138, "column": 17 }, "end": { "line": 138, "column": 21 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3213, "end": 3214, "loc": { "start": { "line": 138, "column": 21 }, "end": { "line": 138, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_points", "start": 3214, "end": 3221, "loc": { "start": { "line": 138, "column": 22 }, "end": { "line": 138, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3221, "end": 3222, "loc": { "start": { "line": 138, "column": 29 }, "end": { "line": 138, "column": 30 } } }, { "type": { "label": "for", "keyword": "for", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "for", "start": 3226, "end": 3229, "loc": { "start": { "line": 140, "column": 2 }, "end": { "line": 140, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3229, "end": 3230, "loc": { "start": { "line": 140, "column": 5 }, "end": { "line": 140, "column": 6 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 3230, "end": 3233, "loc": { "start": { "line": 140, "column": 6 }, "end": { "line": 140, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 3234, "end": 3235, "loc": { "start": { "line": 140, "column": 10 }, "end": { "line": 140, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3236, "end": 3237, "loc": { "start": { "line": 140, "column": 12 }, "end": { "line": 140, "column": 13 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 3238, "end": 3239, "loc": { "start": { "line": 140, "column": 14 }, "end": { "line": 140, "column": 15 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3239, "end": 3240, "loc": { "start": { "line": 140, "column": 15 }, "end": { "line": 140, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 3241, "end": 3243, "loc": { "start": { "line": 140, "column": 17 }, "end": { "line": 140, "column": 19 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3244, "end": 3245, "loc": { "start": { "line": 140, "column": 20 }, "end": { "line": 140, "column": 21 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 3246, "end": 3247, "loc": { "start": { "line": 140, "column": 22 }, "end": { "line": 140, "column": 23 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3247, "end": 3248, "loc": { "start": { "line": 140, "column": 23 }, "end": { "line": 140, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 3249, "end": 3251, "loc": { "start": { "line": 140, "column": 25 }, "end": { "line": 140, "column": 27 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3252, "end": 3253, "loc": { "start": { "line": 140, "column": 28 }, "end": { "line": 140, "column": 29 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 3254, "end": 3255, "loc": { "start": { "line": 140, "column": 30 }, "end": { "line": 140, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3255, "end": 3256, "loc": { "start": { "line": 140, "column": 31 }, "end": { "line": 140, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 3257, "end": 3258, "loc": { "start": { "line": 140, "column": 33 }, "end": { "line": 140, "column": 34 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 3259, "end": 3260, "loc": { "start": { "line": 140, "column": 35 }, "end": { "line": 140, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 3261, "end": 3266, "loc": { "start": { "line": 140, "column": 37 }, "end": { "line": 140, "column": 42 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3266, "end": 3267, "loc": { "start": { "line": 140, "column": 42 }, "end": { "line": 140, "column": 43 } } }, { "type": { "label": "++/--", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": true, "binop": null }, "value": "++", "start": 3268, "end": 3270, "loc": { "start": { "line": 140, "column": 44 }, "end": { "line": 140, "column": 46 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 3270, "end": 3271, "loc": { "start": { "line": 140, "column": 46 }, "end": { "line": 140, "column": 47 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3271, "end": 3272, "loc": { "start": { "line": 140, "column": 47 }, "end": { "line": 140, "column": 48 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 3273, "end": 3275, "loc": { "start": { "line": 140, "column": 49 }, "end": { "line": 140, "column": 51 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 3276, "end": 3278, "loc": { "start": { "line": 140, "column": 52 }, "end": { "line": 140, "column": 54 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 3279, "end": 3280, "loc": { "start": { "line": 140, "column": 55 }, "end": { "line": 140, "column": 56 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3280, "end": 3281, "loc": { "start": { "line": 140, "column": 56 }, "end": { "line": 140, "column": 57 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 3282, "end": 3284, "loc": { "start": { "line": 140, "column": 58 }, "end": { "line": 140, "column": 60 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 3285, "end": 3287, "loc": { "start": { "line": 140, "column": 61 }, "end": { "line": 140, "column": 63 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 3288, "end": 3289, "loc": { "start": { "line": 140, "column": 64 }, "end": { "line": 140, "column": 65 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3289, "end": 3290, "loc": { "start": { "line": 140, "column": 65 }, "end": { "line": 140, "column": 66 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3291, "end": 3292, "loc": { "start": { "line": 140, "column": 67 }, "end": { "line": 140, "column": 68 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3296, "end": 3301, "loc": { "start": { "line": 141, "column": 3 }, "end": { "line": 141, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_point", "start": 3302, "end": 3311, "loc": { "start": { "line": 141, "column": 9 }, "end": { "line": 141, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3312, "end": 3313, "loc": { "start": { "line": 141, "column": 19 }, "end": { "line": 141, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_points", "start": 3314, "end": 3324, "loc": { "start": { "line": 141, "column": 21 }, "end": { "line": 141, "column": 31 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3324, "end": 3325, "loc": { "start": { "line": 141, "column": 31 }, "end": { "line": 141, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 3325, "end": 3326, "loc": { "start": { "line": 141, "column": 32 }, "end": { "line": 141, "column": 33 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3326, "end": 3327, "loc": { "start": { "line": 141, "column": 33 }, "end": { "line": 141, "column": 34 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3327, "end": 3328, "loc": { "start": { "line": 141, "column": 34 }, "end": { "line": 141, "column": 35 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "points", "start": 3333, "end": 3339, "loc": { "start": { "line": 143, "column": 3 }, "end": { "line": 143, "column": 9 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3339, "end": 3340, "loc": { "start": { "line": 143, "column": 9 }, "end": { "line": 143, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 3340, "end": 3342, "loc": { "start": { "line": 143, "column": 10 }, "end": { "line": 143, "column": 12 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3342, "end": 3343, "loc": { "start": { "line": 143, "column": 12 }, "end": { "line": 143, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3344, "end": 3345, "loc": { "start": { "line": 143, "column": 14 }, "end": { "line": 143, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_point", "start": 3346, "end": 3355, "loc": { "start": { "line": 143, "column": 16 }, "end": { "line": 143, "column": 25 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3355, "end": 3356, "loc": { "start": { "line": 143, "column": 25 }, "end": { "line": 143, "column": 26 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 3356, "end": 3357, "loc": { "start": { "line": 143, "column": 26 }, "end": { "line": 143, "column": 27 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3357, "end": 3358, "loc": { "start": { "line": 143, "column": 27 }, "end": { "line": 143, "column": 28 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3358, "end": 3359, "loc": { "start": { "line": 143, "column": 28 }, "end": { "line": 143, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "points", "start": 3363, "end": 3369, "loc": { "start": { "line": 144, "column": 3 }, "end": { "line": 144, "column": 9 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3369, "end": 3370, "loc": { "start": { "line": 144, "column": 9 }, "end": { "line": 144, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 3370, "end": 3372, "loc": { "start": { "line": 144, "column": 10 }, "end": { "line": 144, "column": 12 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3372, "end": 3373, "loc": { "start": { "line": 144, "column": 12 }, "end": { "line": 144, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3374, "end": 3375, "loc": { "start": { "line": 144, "column": 14 }, "end": { "line": 144, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "new_point", "start": 3376, "end": 3385, "loc": { "start": { "line": 144, "column": 16 }, "end": { "line": 144, "column": 25 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3385, "end": 3386, "loc": { "start": { "line": 144, "column": 25 }, "end": { "line": 144, "column": 26 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 3386, "end": 3387, "loc": { "start": { "line": 144, "column": 26 }, "end": { "line": 144, "column": 27 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3387, "end": 3388, "loc": { "start": { "line": 144, "column": 27 }, "end": { "line": 144, "column": 28 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3388, "end": 3389, "loc": { "start": { "line": 144, "column": 28 }, "end": { "line": 144, "column": 29 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3392, "end": 3393, "loc": { "start": { "line": 145, "column": 2 }, "end": { "line": 145, "column": 3 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3397, "end": 3401, "loc": { "start": { "line": 147, "column": 2 }, "end": { "line": 147, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3401, "end": 3402, "loc": { "start": { "line": 147, "column": 6 }, "end": { "line": 147, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_dirty_coords", "start": 3402, "end": 3415, "loc": { "start": { "line": 147, "column": 7 }, "end": { "line": 147, "column": 20 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3416, "end": 3417, "loc": { "start": { "line": 147, "column": 21 }, "end": { "line": 147, "column": 22 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 3418, "end": 3422, "loc": { "start": { "line": 147, "column": 23 }, "end": { "line": 147, "column": 27 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3422, "end": 3423, "loc": { "start": { "line": 147, "column": 27 }, "end": { "line": 147, "column": 28 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3425, "end": 3426, "loc": { "start": { "line": 148, "column": 1 }, "end": { "line": 148, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Calculates and caches the polygon's world coordinates based on its points, angle, and scale\n\t ", "start": 3429, "end": 3533, "loc": { "start": { "line": 150, "column": 1 }, "end": { "line": 152, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_calculateCoords", "start": 3535, "end": 3551, "loc": { "start": { "line": 153, "column": 1 }, "end": { "line": 153, "column": 17 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3551, "end": 3552, "loc": { "start": { "line": 153, "column": 17 }, "end": { "line": 153, "column": 18 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3552, "end": 3553, "loc": { "start": { "line": 153, "column": 18 }, "end": { "line": 153, "column": 19 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3554, "end": 3555, "loc": { "start": { "line": 153, "column": 20 }, "end": { "line": 153, "column": 21 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3558, "end": 3563, "loc": { "start": { "line": 154, "column": 2 }, "end": { "line": 154, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 3564, "end": 3565, "loc": { "start": { "line": 154, "column": 8 }, "end": { "line": 154, "column": 9 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3572, "end": 3573, "loc": { "start": { "line": 154, "column": 16 }, "end": { "line": 154, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3574, "end": 3578, "loc": { "start": { "line": 154, "column": 18 }, "end": { "line": 154, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3578, "end": 3579, "loc": { "start": { "line": 154, "column": 22 }, "end": { "line": 154, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 3579, "end": 3580, "loc": { "start": { "line": 154, "column": 23 }, "end": { "line": 154, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3580, "end": 3581, "loc": { "start": { "line": 154, "column": 24 }, "end": { "line": 154, "column": 25 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3584, "end": 3589, "loc": { "start": { "line": 155, "column": 2 }, "end": { "line": 155, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 3590, "end": 3591, "loc": { "start": { "line": 155, "column": 8 }, "end": { "line": 155, "column": 9 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3598, "end": 3599, "loc": { "start": { "line": 155, "column": 16 }, "end": { "line": 155, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3600, "end": 3604, "loc": { "start": { "line": 155, "column": 18 }, "end": { "line": 155, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3604, "end": 3605, "loc": { "start": { "line": 155, "column": 22 }, "end": { "line": 155, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 3605, "end": 3606, "loc": { "start": { "line": 155, "column": 23 }, "end": { "line": 155, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3606, "end": 3607, "loc": { "start": { "line": 155, "column": 24 }, "end": { "line": 155, "column": 25 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3610, "end": 3615, "loc": { "start": { "line": 156, "column": 2 }, "end": { "line": 156, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "angle", "start": 3616, "end": 3621, "loc": { "start": { "line": 156, "column": 8 }, "end": { "line": 156, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3624, "end": 3625, "loc": { "start": { "line": 156, "column": 16 }, "end": { "line": 156, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3626, "end": 3630, "loc": { "start": { "line": 156, "column": 18 }, "end": { "line": 156, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3630, "end": 3631, "loc": { "start": { "line": 156, "column": 22 }, "end": { "line": 156, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "angle", "start": 3631, "end": 3636, "loc": { "start": { "line": 156, "column": 23 }, "end": { "line": 156, "column": 28 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3636, "end": 3637, "loc": { "start": { "line": 156, "column": 28 }, "end": { "line": 156, "column": 29 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3640, "end": 3645, "loc": { "start": { "line": 157, "column": 2 }, "end": { "line": 157, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_x", "start": 3646, "end": 3653, "loc": { "start": { "line": 157, "column": 8 }, "end": { "line": 157, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3654, "end": 3655, "loc": { "start": { "line": 157, "column": 16 }, "end": { "line": 157, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3656, "end": 3660, "loc": { "start": { "line": 157, "column": 18 }, "end": { "line": 157, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3660, "end": 3661, "loc": { "start": { "line": 157, "column": 22 }, "end": { "line": 157, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_x", "start": 3661, "end": 3668, "loc": { "start": { "line": 157, "column": 23 }, "end": { "line": 157, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3668, "end": 3669, "loc": { "start": { "line": 157, "column": 30 }, "end": { "line": 157, "column": 31 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3672, "end": 3677, "loc": { "start": { "line": 158, "column": 2 }, "end": { "line": 158, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_y", "start": 3678, "end": 3685, "loc": { "start": { "line": 158, "column": 8 }, "end": { "line": 158, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3686, "end": 3687, "loc": { "start": { "line": 158, "column": 16 }, "end": { "line": 158, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3688, "end": 3692, "loc": { "start": { "line": 158, "column": 18 }, "end": { "line": 158, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3692, "end": 3693, "loc": { "start": { "line": 158, "column": 22 }, "end": { "line": 158, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_y", "start": 3693, "end": 3700, "loc": { "start": { "line": 158, "column": 23 }, "end": { "line": 158, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3700, "end": 3701, "loc": { "start": { "line": 158, "column": 30 }, "end": { "line": 158, "column": 31 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3704, "end": 3709, "loc": { "start": { "line": 159, "column": 2 }, "end": { "line": 159, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "points", "start": 3710, "end": 3716, "loc": { "start": { "line": 159, "column": 8 }, "end": { "line": 159, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3718, "end": 3719, "loc": { "start": { "line": 159, "column": 16 }, "end": { "line": 159, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3720, "end": 3724, "loc": { "start": { "line": 159, "column": 18 }, "end": { "line": 159, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3724, "end": 3725, "loc": { "start": { "line": 159, "column": 22 }, "end": { "line": 159, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_points", "start": 3725, "end": 3732, "loc": { "start": { "line": 159, "column": 23 }, "end": { "line": 159, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3732, "end": 3733, "loc": { "start": { "line": 159, "column": 30 }, "end": { "line": 159, "column": 31 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3736, "end": 3741, "loc": { "start": { "line": 160, "column": 2 }, "end": { "line": 160, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 3742, "end": 3748, "loc": { "start": { "line": 160, "column": 8 }, "end": { "line": 160, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3750, "end": 3751, "loc": { "start": { "line": 160, "column": 16 }, "end": { "line": 160, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 3752, "end": 3756, "loc": { "start": { "line": 160, "column": 18 }, "end": { "line": 160, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3756, "end": 3757, "loc": { "start": { "line": 160, "column": 22 }, "end": { "line": 160, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_coords", "start": 3757, "end": 3764, "loc": { "start": { "line": 160, "column": 23 }, "end": { "line": 160, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3764, "end": 3765, "loc": { "start": { "line": 160, "column": 30 }, "end": { "line": 160, "column": 31 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3768, "end": 3773, "loc": { "start": { "line": 161, "column": 2 }, "end": { "line": 161, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 3774, "end": 3779, "loc": { "start": { "line": 161, "column": 8 }, "end": { "line": 161, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3782, "end": 3783, "loc": { "start": { "line": 161, "column": 16 }, "end": { "line": 161, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "points", "start": 3784, "end": 3790, "loc": { "start": { "line": 161, "column": 18 }, "end": { "line": 161, "column": 24 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3790, "end": 3791, "loc": { "start": { "line": 161, "column": 24 }, "end": { "line": 161, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 3791, "end": 3797, "loc": { "start": { "line": 161, "column": 25 }, "end": { "line": 161, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3797, "end": 3798, "loc": { "start": { "line": 161, "column": 31 }, "end": { "line": 161, "column": 32 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 3802, "end": 3805, "loc": { "start": { "line": 163, "column": 2 }, "end": { "line": 163, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_x", "start": 3806, "end": 3811, "loc": { "start": { "line": 163, "column": 6 }, "end": { "line": 163, "column": 11 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3811, "end": 3812, "loc": { "start": { "line": 163, "column": 11 }, "end": { "line": 163, "column": 12 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 3815, "end": 3818, "loc": { "start": { "line": 164, "column": 2 }, "end": { "line": 164, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_x", "start": 3819, "end": 3824, "loc": { "start": { "line": 164, "column": 6 }, "end": { "line": 164, "column": 11 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3824, "end": 3825, "loc": { "start": { "line": 164, "column": 11 }, "end": { "line": 164, "column": 12 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 3828, "end": 3831, "loc": { "start": { "line": 165, "column": 2 }, "end": { "line": 165, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_y", "start": 3832, "end": 3837, "loc": { "start": { "line": 165, "column": 6 }, "end": { "line": 165, "column": 11 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3837, "end": 3838, "loc": { "start": { "line": 165, "column": 11 }, "end": { "line": 165, "column": 12 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 3841, "end": 3844, "loc": { "start": { "line": 166, "column": 2 }, "end": { "line": 166, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_y", "start": 3845, "end": 3850, "loc": { "start": { "line": 166, "column": 6 }, "end": { "line": 166, "column": 11 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3850, "end": 3851, "loc": { "start": { "line": 166, "column": 11 }, "end": { "line": 166, "column": 12 } } }, { "type": { "label": "for", "keyword": "for", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "for", "start": 3855, "end": 3858, "loc": { "start": { "line": 168, "column": 2 }, "end": { "line": 168, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3858, "end": 3859, "loc": { "start": { "line": 168, "column": 5 }, "end": { "line": 168, "column": 6 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 3859, "end": 3862, "loc": { "start": { "line": 168, "column": 6 }, "end": { "line": 168, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 3863, "end": 3865, "loc": { "start": { "line": 168, "column": 10 }, "end": { "line": 168, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3866, "end": 3867, "loc": { "start": { "line": 168, "column": 13 }, "end": { "line": 168, "column": 14 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 3868, "end": 3869, "loc": { "start": { "line": 168, "column": 15 }, "end": { "line": 168, "column": 16 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3869, "end": 3870, "loc": { "start": { "line": 168, "column": 16 }, "end": { "line": 168, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 3871, "end": 3873, "loc": { "start": { "line": 168, "column": 18 }, "end": { "line": 168, "column": 20 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3874, "end": 3875, "loc": { "start": { "line": 168, "column": 21 }, "end": { "line": 168, "column": 22 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 3876, "end": 3877, "loc": { "start": { "line": 168, "column": 23 }, "end": { "line": 168, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3877, "end": 3878, "loc": { "start": { "line": 168, "column": 24 }, "end": { "line": 168, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 3879, "end": 3881, "loc": { "start": { "line": 168, "column": 26 }, "end": { "line": 168, "column": 28 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 3882, "end": 3883, "loc": { "start": { "line": 168, "column": 29 }, "end": { "line": 168, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 3884, "end": 3889, "loc": { "start": { "line": 168, "column": 31 }, "end": { "line": 168, "column": 36 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3889, "end": 3890, "loc": { "start": { "line": 168, "column": 36 }, "end": { "line": 168, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 3891, "end": 3893, "loc": { "start": { "line": 168, "column": 38 }, "end": { "line": 168, "column": 40 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 3894, "end": 3896, "loc": { "start": { "line": 168, "column": 41 }, "end": { "line": 168, "column": 43 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 3897, "end": 3898, "loc": { "start": { "line": 168, "column": 44 }, "end": { "line": 168, "column": 45 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3898, "end": 3899, "loc": { "start": { "line": 168, "column": 45 }, "end": { "line": 168, "column": 46 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 3900, "end": 3902, "loc": { "start": { "line": 168, "column": 47 }, "end": { "line": 168, "column": 49 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 3903, "end": 3905, "loc": { "start": { "line": 168, "column": 50 }, "end": { "line": 168, "column": 52 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 3906, "end": 3907, "loc": { "start": { "line": 168, "column": 53 }, "end": { "line": 168, "column": 54 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3907, "end": 3908, "loc": { "start": { "line": 168, "column": 54 }, "end": { "line": 168, "column": 55 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3909, "end": 3910, "loc": { "start": { "line": 168, "column": 56 }, "end": { "line": 168, "column": 57 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 3914, "end": 3917, "loc": { "start": { "line": 169, "column": 3 }, "end": { "line": 169, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 3918, "end": 3925, "loc": { "start": { "line": 169, "column": 7 }, "end": { "line": 169, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3926, "end": 3927, "loc": { "start": { "line": 169, "column": 15 }, "end": { "line": 169, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "points", "start": 3928, "end": 3934, "loc": { "start": { "line": 169, "column": 17 }, "end": { "line": 169, "column": 23 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3934, "end": 3935, "loc": { "start": { "line": 169, "column": 23 }, "end": { "line": 169, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 3935, "end": 3937, "loc": { "start": { "line": 169, "column": 24 }, "end": { "line": 169, "column": 26 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3937, "end": 3938, "loc": { "start": { "line": 169, "column": 26 }, "end": { "line": 169, "column": 27 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 3939, "end": 3940, "loc": { "start": { "line": 169, "column": 28 }, "end": { "line": 169, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_x", "start": 3941, "end": 3948, "loc": { "start": { "line": 169, "column": 30 }, "end": { "line": 169, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3948, "end": 3949, "loc": { "start": { "line": 169, "column": 37 }, "end": { "line": 169, "column": 38 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 3953, "end": 3956, "loc": { "start": { "line": 170, "column": 3 }, "end": { "line": 170, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 3957, "end": 3964, "loc": { "start": { "line": 170, "column": 7 }, "end": { "line": 170, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3965, "end": 3966, "loc": { "start": { "line": 170, "column": 15 }, "end": { "line": 170, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "points", "start": 3967, "end": 3973, "loc": { "start": { "line": 170, "column": 17 }, "end": { "line": 170, "column": 23 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3973, "end": 3974, "loc": { "start": { "line": 170, "column": 23 }, "end": { "line": 170, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 3974, "end": 3976, "loc": { "start": { "line": 170, "column": 24 }, "end": { "line": 170, "column": 26 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3976, "end": 3977, "loc": { "start": { "line": 170, "column": 26 }, "end": { "line": 170, "column": 27 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 3978, "end": 3979, "loc": { "start": { "line": 170, "column": 28 }, "end": { "line": 170, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_y", "start": 3980, "end": 3987, "loc": { "start": { "line": 170, "column": 30 }, "end": { "line": 170, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3987, "end": 3988, "loc": { "start": { "line": 170, "column": 37 }, "end": { "line": 170, "column": 38 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 3993, "end": 3995, "loc": { "start": { "line": 172, "column": 3 }, "end": { "line": 172, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3995, "end": 3996, "loc": { "start": { "line": 172, "column": 5 }, "end": { "line": 172, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "angle", "start": 3996, "end": 4001, "loc": { "start": { "line": 172, "column": 6 }, "end": { "line": 172, "column": 11 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4001, "end": 4002, "loc": { "start": { "line": 172, "column": 11 }, "end": { "line": 172, "column": 12 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4003, "end": 4004, "loc": { "start": { "line": 172, "column": 13 }, "end": { "line": 172, "column": 14 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4009, "end": 4014, "loc": { "start": { "line": 173, "column": 4 }, "end": { "line": 173, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "cos", "start": 4015, "end": 4018, "loc": { "start": { "line": 173, "column": 10 }, "end": { "line": 173, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4021, "end": 4022, "loc": { "start": { "line": 173, "column": 16 }, "end": { "line": 173, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Math", "start": 4023, "end": 4027, "loc": { "start": { "line": 173, "column": 18 }, "end": { "line": 173, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4027, "end": 4028, "loc": { "start": { "line": 173, "column": 22 }, "end": { "line": 173, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "cos", "start": 4028, "end": 4031, "loc": { "start": { "line": 173, "column": 23 }, "end": { "line": 173, "column": 26 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4031, "end": 4032, "loc": { "start": { "line": 173, "column": 26 }, "end": { "line": 173, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "angle", "start": 4032, "end": 4037, "loc": { "start": { "line": 173, "column": 27 }, "end": { "line": 173, "column": 32 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4037, "end": 4038, "loc": { "start": { "line": 173, "column": 32 }, "end": { "line": 173, "column": 33 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4038, "end": 4039, "loc": { "start": { "line": 173, "column": 33 }, "end": { "line": 173, "column": 34 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4044, "end": 4049, "loc": { "start": { "line": 174, "column": 4 }, "end": { "line": 174, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sin", "start": 4050, "end": 4053, "loc": { "start": { "line": 174, "column": 10 }, "end": { "line": 174, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4056, "end": 4057, "loc": { "start": { "line": 174, "column": 16 }, "end": { "line": 174, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Math", "start": 4058, "end": 4062, "loc": { "start": { "line": 174, "column": 18 }, "end": { "line": 174, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4062, "end": 4063, "loc": { "start": { "line": 174, "column": 22 }, "end": { "line": 174, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sin", "start": 4063, "end": 4066, "loc": { "start": { "line": 174, "column": 23 }, "end": { "line": 174, "column": 26 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4066, "end": 4067, "loc": { "start": { "line": 174, "column": 26 }, "end": { "line": 174, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "angle", "start": 4067, "end": 4072, "loc": { "start": { "line": 174, "column": 27 }, "end": { "line": 174, "column": 32 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4072, "end": 4073, "loc": { "start": { "line": 174, "column": 32 }, "end": { "line": 174, "column": 33 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4073, "end": 4074, "loc": { "start": { "line": 174, "column": 33 }, "end": { "line": 174, "column": 34 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4079, "end": 4084, "loc": { "start": { "line": 175, "column": 4 }, "end": { "line": 175, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_x", "start": 4085, "end": 4090, "loc": { "start": { "line": 175, "column": 10 }, "end": { "line": 175, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4091, "end": 4092, "loc": { "start": { "line": 175, "column": 16 }, "end": { "line": 175, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 4093, "end": 4100, "loc": { "start": { "line": 175, "column": 18 }, "end": { "line": 175, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4100, "end": 4101, "loc": { "start": { "line": 175, "column": 25 }, "end": { "line": 175, "column": 26 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4106, "end": 4111, "loc": { "start": { "line": 176, "column": 4 }, "end": { "line": 176, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_y", "start": 4112, "end": 4117, "loc": { "start": { "line": 176, "column": 10 }, "end": { "line": 176, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4118, "end": 4119, "loc": { "start": { "line": 176, "column": 16 }, "end": { "line": 176, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 4120, "end": 4127, "loc": { "start": { "line": 176, "column": 18 }, "end": { "line": 176, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4127, "end": 4128, "loc": { "start": { "line": 176, "column": 25 }, "end": { "line": 176, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 4134, "end": 4141, "loc": { "start": { "line": 178, "column": 4 }, "end": { "line": 178, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4142, "end": 4143, "loc": { "start": { "line": 178, "column": 12 }, "end": { "line": 178, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_x", "start": 4144, "end": 4149, "loc": { "start": { "line": 178, "column": 14 }, "end": { "line": 178, "column": 19 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 4150, "end": 4151, "loc": { "start": { "line": 178, "column": 20 }, "end": { "line": 178, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "cos", "start": 4152, "end": 4155, "loc": { "start": { "line": 178, "column": 22 }, "end": { "line": 178, "column": 25 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 4156, "end": 4157, "loc": { "start": { "line": 178, "column": 26 }, "end": { "line": 178, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_y", "start": 4158, "end": 4163, "loc": { "start": { "line": 178, "column": 28 }, "end": { "line": 178, "column": 33 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 4164, "end": 4165, "loc": { "start": { "line": 178, "column": 34 }, "end": { "line": 178, "column": 35 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sin", "start": 4166, "end": 4169, "loc": { "start": { "line": 178, "column": 36 }, "end": { "line": 178, "column": 39 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4169, "end": 4170, "loc": { "start": { "line": 178, "column": 39 }, "end": { "line": 178, "column": 40 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 4175, "end": 4182, "loc": { "start": { "line": 179, "column": 4 }, "end": { "line": 179, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4183, "end": 4184, "loc": { "start": { "line": 179, "column": 12 }, "end": { "line": 179, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_x", "start": 4185, "end": 4190, "loc": { "start": { "line": 179, "column": 14 }, "end": { "line": 179, "column": 19 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 4191, "end": 4192, "loc": { "start": { "line": 179, "column": 20 }, "end": { "line": 179, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sin", "start": 4193, "end": 4196, "loc": { "start": { "line": 179, "column": 22 }, "end": { "line": 179, "column": 25 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 4197, "end": 4198, "loc": { "start": { "line": 179, "column": 26 }, "end": { "line": 179, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_y", "start": 4199, "end": 4204, "loc": { "start": { "line": 179, "column": 28 }, "end": { "line": 179, "column": 33 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 4205, "end": 4206, "loc": { "start": { "line": 179, "column": 34 }, "end": { "line": 179, "column": 35 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "cos", "start": 4207, "end": 4210, "loc": { "start": { "line": 179, "column": 36 }, "end": { "line": 179, "column": 39 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4210, "end": 4211, "loc": { "start": { "line": 179, "column": 39 }, "end": { "line": 179, "column": 40 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4215, "end": 4216, "loc": { "start": { "line": 180, "column": 3 }, "end": { "line": 180, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 4221, "end": 4228, "loc": { "start": { "line": 182, "column": 3 }, "end": { "line": 182, "column": 10 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 4229, "end": 4231, "loc": { "start": { "line": 182, "column": 11 }, "end": { "line": 182, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 4232, "end": 4233, "loc": { "start": { "line": 182, "column": 14 }, "end": { "line": 182, "column": 15 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4233, "end": 4234, "loc": { "start": { "line": 182, "column": 15 }, "end": { "line": 182, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 4238, "end": 4245, "loc": { "start": { "line": 183, "column": 3 }, "end": { "line": 183, "column": 10 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 4246, "end": 4248, "loc": { "start": { "line": 183, "column": 11 }, "end": { "line": 183, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 4249, "end": 4250, "loc": { "start": { "line": 183, "column": 14 }, "end": { "line": 183, "column": 15 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4250, "end": 4251, "loc": { "start": { "line": 183, "column": 15 }, "end": { "line": 183, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 4256, "end": 4262, "loc": { "start": { "line": 185, "column": 3 }, "end": { "line": 185, "column": 9 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4262, "end": 4263, "loc": { "start": { "line": 185, "column": 9 }, "end": { "line": 185, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 4263, "end": 4265, "loc": { "start": { "line": 185, "column": 10 }, "end": { "line": 185, "column": 12 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4265, "end": 4266, "loc": { "start": { "line": 185, "column": 12 }, "end": { "line": 185, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4267, "end": 4268, "loc": { "start": { "line": 185, "column": 14 }, "end": { "line": 185, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 4269, "end": 4276, "loc": { "start": { "line": 185, "column": 16 }, "end": { "line": 185, "column": 23 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4276, "end": 4277, "loc": { "start": { "line": 185, "column": 23 }, "end": { "line": 185, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 4281, "end": 4287, "loc": { "start": { "line": 186, "column": 3 }, "end": { "line": 186, "column": 9 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4287, "end": 4288, "loc": { "start": { "line": 186, "column": 9 }, "end": { "line": 186, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 4288, "end": 4290, "loc": { "start": { "line": 186, "column": 10 }, "end": { "line": 186, "column": 12 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4290, "end": 4291, "loc": { "start": { "line": 186, "column": 12 }, "end": { "line": 186, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4292, "end": 4293, "loc": { "start": { "line": 186, "column": 14 }, "end": { "line": 186, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 4294, "end": 4301, "loc": { "start": { "line": 186, "column": 16 }, "end": { "line": 186, "column": 23 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4301, "end": 4302, "loc": { "start": { "line": 186, "column": 23 }, "end": { "line": 186, "column": 24 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 4307, "end": 4309, "loc": { "start": { "line": 188, "column": 3 }, "end": { "line": 188, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4309, "end": 4310, "loc": { "start": { "line": 188, "column": 5 }, "end": { "line": 188, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 4310, "end": 4312, "loc": { "start": { "line": 188, "column": 6 }, "end": { "line": 188, "column": 8 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 4313, "end": 4316, "loc": { "start": { "line": 188, "column": 9 }, "end": { "line": 188, "column": 12 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 4317, "end": 4318, "loc": { "start": { "line": 188, "column": 13 }, "end": { "line": 188, "column": 14 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4318, "end": 4319, "loc": { "start": { "line": 188, "column": 14 }, "end": { "line": 188, "column": 15 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4320, "end": 4321, "loc": { "start": { "line": 188, "column": 16 }, "end": { "line": 188, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_x", "start": 4326, "end": 4331, "loc": { "start": { "line": 189, "column": 4 }, "end": { "line": 189, "column": 9 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4332, "end": 4333, "loc": { "start": { "line": 189, "column": 10 }, "end": { "line": 189, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_x", "start": 4334, "end": 4339, "loc": { "start": { "line": 189, "column": 12 }, "end": { "line": 189, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4340, "end": 4341, "loc": { "start": { "line": 189, "column": 18 }, "end": { "line": 189, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 4342, "end": 4349, "loc": { "start": { "line": 189, "column": 20 }, "end": { "line": 189, "column": 27 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4349, "end": 4350, "loc": { "start": { "line": 189, "column": 27 }, "end": { "line": 189, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_y", "start": 4355, "end": 4360, "loc": { "start": { "line": 190, "column": 4 }, "end": { "line": 190, "column": 9 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4361, "end": 4362, "loc": { "start": { "line": 190, "column": 10 }, "end": { "line": 190, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_y", "start": 4363, "end": 4368, "loc": { "start": { "line": 190, "column": 12 }, "end": { "line": 190, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4369, "end": 4370, "loc": { "start": { "line": 190, "column": 18 }, "end": { "line": 190, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 4371, "end": 4378, "loc": { "start": { "line": 190, "column": 20 }, "end": { "line": 190, "column": 27 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4378, "end": 4379, "loc": { "start": { "line": 190, "column": 27 }, "end": { "line": 190, "column": 28 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4383, "end": 4384, "loc": { "start": { "line": 191, "column": 3 }, "end": { "line": 191, "column": 4 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 4388, "end": 4392, "loc": { "start": { "line": 192, "column": 3 }, "end": { "line": 192, "column": 7 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4393, "end": 4394, "loc": { "start": { "line": 192, "column": 8 }, "end": { "line": 192, "column": 9 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 4399, "end": 4401, "loc": { "start": { "line": 193, "column": 4 }, "end": { "line": 193, "column": 6 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4401, "end": 4402, "loc": { "start": { "line": 193, "column": 6 }, "end": { "line": 193, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 4402, "end": 4409, "loc": { "start": { "line": 193, "column": 7 }, "end": { "line": 193, "column": 14 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 4410, "end": 4411, "loc": { "start": { "line": 193, "column": 15 }, "end": { "line": 193, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_x", "start": 4412, "end": 4417, "loc": { "start": { "line": 193, "column": 17 }, "end": { "line": 193, "column": 22 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4417, "end": 4418, "loc": { "start": { "line": 193, "column": 22 }, "end": { "line": 193, "column": 23 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4419, "end": 4420, "loc": { "start": { "line": 193, "column": 24 }, "end": { "line": 193, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_x", "start": 4426, "end": 4431, "loc": { "start": { "line": 194, "column": 5 }, "end": { "line": 194, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4432, "end": 4433, "loc": { "start": { "line": 194, "column": 11 }, "end": { "line": 194, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 4434, "end": 4441, "loc": { "start": { "line": 194, "column": 13 }, "end": { "line": 194, "column": 20 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4441, "end": 4442, "loc": { "start": { "line": 194, "column": 20 }, "end": { "line": 194, "column": 21 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4447, "end": 4448, "loc": { "start": { "line": 195, "column": 4 }, "end": { "line": 195, "column": 5 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 4453, "end": 4457, "loc": { "start": { "line": 196, "column": 4 }, "end": { "line": 196, "column": 8 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 4458, "end": 4460, "loc": { "start": { "line": 196, "column": 9 }, "end": { "line": 196, "column": 11 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4460, "end": 4461, "loc": { "start": { "line": 196, "column": 11 }, "end": { "line": 196, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 4461, "end": 4468, "loc": { "start": { "line": 196, "column": 12 }, "end": { "line": 196, "column": 19 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 4469, "end": 4470, "loc": { "start": { "line": 196, "column": 20 }, "end": { "line": 196, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_x", "start": 4471, "end": 4476, "loc": { "start": { "line": 196, "column": 22 }, "end": { "line": 196, "column": 27 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4476, "end": 4477, "loc": { "start": { "line": 196, "column": 27 }, "end": { "line": 196, "column": 28 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4478, "end": 4479, "loc": { "start": { "line": 196, "column": 29 }, "end": { "line": 196, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_x", "start": 4485, "end": 4490, "loc": { "start": { "line": 197, "column": 5 }, "end": { "line": 197, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4491, "end": 4492, "loc": { "start": { "line": 197, "column": 11 }, "end": { "line": 197, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 4493, "end": 4500, "loc": { "start": { "line": 197, "column": 13 }, "end": { "line": 197, "column": 20 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4500, "end": 4501, "loc": { "start": { "line": 197, "column": 20 }, "end": { "line": 197, "column": 21 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4506, "end": 4507, "loc": { "start": { "line": 198, "column": 4 }, "end": { "line": 198, "column": 5 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 4513, "end": 4515, "loc": { "start": { "line": 200, "column": 4 }, "end": { "line": 200, "column": 6 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4515, "end": 4516, "loc": { "start": { "line": 200, "column": 6 }, "end": { "line": 200, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 4516, "end": 4523, "loc": { "start": { "line": 200, "column": 7 }, "end": { "line": 200, "column": 14 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 4524, "end": 4525, "loc": { "start": { "line": 200, "column": 15 }, "end": { "line": 200, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_y", "start": 4526, "end": 4531, "loc": { "start": { "line": 200, "column": 17 }, "end": { "line": 200, "column": 22 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4531, "end": 4532, "loc": { "start": { "line": 200, "column": 22 }, "end": { "line": 200, "column": 23 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4533, "end": 4534, "loc": { "start": { "line": 200, "column": 24 }, "end": { "line": 200, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_y", "start": 4540, "end": 4545, "loc": { "start": { "line": 201, "column": 5 }, "end": { "line": 201, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4546, "end": 4547, "loc": { "start": { "line": 201, "column": 11 }, "end": { "line": 201, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 4548, "end": 4555, "loc": { "start": { "line": 201, "column": 13 }, "end": { "line": 201, "column": 20 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4555, "end": 4556, "loc": { "start": { "line": 201, "column": 20 }, "end": { "line": 201, "column": 21 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4561, "end": 4562, "loc": { "start": { "line": 202, "column": 4 }, "end": { "line": 202, "column": 5 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 4567, "end": 4571, "loc": { "start": { "line": 203, "column": 4 }, "end": { "line": 203, "column": 8 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 4572, "end": 4574, "loc": { "start": { "line": 203, "column": 9 }, "end": { "line": 203, "column": 11 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4574, "end": 4575, "loc": { "start": { "line": 203, "column": 11 }, "end": { "line": 203, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 4575, "end": 4582, "loc": { "start": { "line": 203, "column": 12 }, "end": { "line": 203, "column": 19 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 4583, "end": 4584, "loc": { "start": { "line": 203, "column": 20 }, "end": { "line": 203, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_y", "start": 4585, "end": 4590, "loc": { "start": { "line": 203, "column": 22 }, "end": { "line": 203, "column": 27 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4590, "end": 4591, "loc": { "start": { "line": 203, "column": 27 }, "end": { "line": 203, "column": 28 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4592, "end": 4593, "loc": { "start": { "line": 203, "column": 29 }, "end": { "line": 203, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_y", "start": 4599, "end": 4604, "loc": { "start": { "line": 204, "column": 5 }, "end": { "line": 204, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4605, "end": 4606, "loc": { "start": { "line": 204, "column": 11 }, "end": { "line": 204, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 4607, "end": 4614, "loc": { "start": { "line": 204, "column": 13 }, "end": { "line": 204, "column": 20 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4614, "end": 4615, "loc": { "start": { "line": 204, "column": 20 }, "end": { "line": 204, "column": 21 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4620, "end": 4621, "loc": { "start": { "line": 205, "column": 4 }, "end": { "line": 205, "column": 5 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4625, "end": 4626, "loc": { "start": { "line": 206, "column": 3 }, "end": { "line": 206, "column": 4 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4629, "end": 4630, "loc": { "start": { "line": 207, "column": 2 }, "end": { "line": 207, "column": 3 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 4634, "end": 4638, "loc": { "start": { "line": 209, "column": 2 }, "end": { "line": 209, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4638, "end": 4639, "loc": { "start": { "line": 209, "column": 6 }, "end": { "line": 209, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_x", "start": 4639, "end": 4641, "loc": { "start": { "line": 209, "column": 7 }, "end": { "line": 209, "column": 9 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4654, "end": 4655, "loc": { "start": { "line": 209, "column": 22 }, "end": { "line": 209, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 4656, "end": 4657, "loc": { "start": { "line": 209, "column": 24 }, "end": { "line": 209, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4657, "end": 4658, "loc": { "start": { "line": 209, "column": 25 }, "end": { "line": 209, "column": 26 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 4661, "end": 4665, "loc": { "start": { "line": 210, "column": 2 }, "end": { "line": 210, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4665, "end": 4666, "loc": { "start": { "line": 210, "column": 6 }, "end": { "line": 210, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_y", "start": 4666, "end": 4668, "loc": { "start": { "line": 210, "column": 7 }, "end": { "line": 210, "column": 9 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4681, "end": 4682, "loc": { "start": { "line": 210, "column": 22 }, "end": { "line": 210, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 4683, "end": 4684, "loc": { "start": { "line": 210, "column": 24 }, "end": { "line": 210, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4684, "end": 4685, "loc": { "start": { "line": 210, "column": 25 }, "end": { "line": 210, "column": 26 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 4688, "end": 4692, "loc": { "start": { "line": 211, "column": 2 }, "end": { "line": 211, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4692, "end": 4693, "loc": { "start": { "line": 211, "column": 6 }, "end": { "line": 211, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_angle", "start": 4693, "end": 4699, "loc": { "start": { "line": 211, "column": 7 }, "end": { "line": 211, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4708, "end": 4709, "loc": { "start": { "line": 211, "column": 22 }, "end": { "line": 211, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "angle", "start": 4710, "end": 4715, "loc": { "start": { "line": 211, "column": 24 }, "end": { "line": 211, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4715, "end": 4716, "loc": { "start": { "line": 211, "column": 29 }, "end": { "line": 211, "column": 30 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 4719, "end": 4723, "loc": { "start": { "line": 212, "column": 2 }, "end": { "line": 212, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4723, "end": 4724, "loc": { "start": { "line": 212, "column": 6 }, "end": { "line": 212, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_scale_x", "start": 4724, "end": 4732, "loc": { "start": { "line": 212, "column": 7 }, "end": { "line": 212, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4739, "end": 4740, "loc": { "start": { "line": 212, "column": 22 }, "end": { "line": 212, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_x", "start": 4741, "end": 4748, "loc": { "start": { "line": 212, "column": 24 }, "end": { "line": 212, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4748, "end": 4749, "loc": { "start": { "line": 212, "column": 31 }, "end": { "line": 212, "column": 32 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 4752, "end": 4756, "loc": { "start": { "line": 213, "column": 2 }, "end": { "line": 213, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4756, "end": 4757, "loc": { "start": { "line": 213, "column": 6 }, "end": { "line": 213, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_scale_y", "start": 4757, "end": 4765, "loc": { "start": { "line": 213, "column": 7 }, "end": { "line": 213, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4772, "end": 4773, "loc": { "start": { "line": 213, "column": 22 }, "end": { "line": 213, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_y", "start": 4774, "end": 4781, "loc": { "start": { "line": 213, "column": 24 }, "end": { "line": 213, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4781, "end": 4782, "loc": { "start": { "line": 213, "column": 31 }, "end": { "line": 213, "column": 32 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 4785, "end": 4789, "loc": { "start": { "line": 214, "column": 2 }, "end": { "line": 214, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4789, "end": 4790, "loc": { "start": { "line": 214, "column": 6 }, "end": { "line": 214, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_min_x", "start": 4790, "end": 4796, "loc": { "start": { "line": 214, "column": 7 }, "end": { "line": 214, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4805, "end": 4806, "loc": { "start": { "line": 214, "column": 22 }, "end": { "line": 214, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_x", "start": 4807, "end": 4812, "loc": { "start": { "line": 214, "column": 24 }, "end": { "line": 214, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4812, "end": 4813, "loc": { "start": { "line": 214, "column": 29 }, "end": { "line": 214, "column": 30 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 4816, "end": 4820, "loc": { "start": { "line": 215, "column": 2 }, "end": { "line": 215, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4820, "end": 4821, "loc": { "start": { "line": 215, "column": 6 }, "end": { "line": 215, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_min_y", "start": 4821, "end": 4827, "loc": { "start": { "line": 215, "column": 7 }, "end": { "line": 215, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4836, "end": 4837, "loc": { "start": { "line": 215, "column": 22 }, "end": { "line": 215, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "min_y", "start": 4838, "end": 4843, "loc": { "start": { "line": 215, "column": 24 }, "end": { "line": 215, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4843, "end": 4844, "loc": { "start": { "line": 215, "column": 29 }, "end": { "line": 215, "column": 30 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 4847, "end": 4851, "loc": { "start": { "line": 216, "column": 2 }, "end": { "line": 216, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4851, "end": 4852, "loc": { "start": { "line": 216, "column": 6 }, "end": { "line": 216, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_max_x", "start": 4852, "end": 4858, "loc": { "start": { "line": 216, "column": 7 }, "end": { "line": 216, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4867, "end": 4868, "loc": { "start": { "line": 216, "column": 22 }, "end": { "line": 216, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_x", "start": 4869, "end": 4874, "loc": { "start": { "line": 216, "column": 24 }, "end": { "line": 216, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4874, "end": 4875, "loc": { "start": { "line": 216, "column": 29 }, "end": { "line": 216, "column": 30 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 4878, "end": 4882, "loc": { "start": { "line": 217, "column": 2 }, "end": { "line": 217, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4882, "end": 4883, "loc": { "start": { "line": 217, "column": 6 }, "end": { "line": 217, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_max_y", "start": 4883, "end": 4889, "loc": { "start": { "line": 217, "column": 7 }, "end": { "line": 217, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4898, "end": 4899, "loc": { "start": { "line": 217, "column": 22 }, "end": { "line": 217, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "max_y", "start": 4900, "end": 4905, "loc": { "start": { "line": 217, "column": 24 }, "end": { "line": 217, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4905, "end": 4906, "loc": { "start": { "line": 217, "column": 29 }, "end": { "line": 217, "column": 30 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 4909, "end": 4913, "loc": { "start": { "line": 218, "column": 2 }, "end": { "line": 218, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4913, "end": 4914, "loc": { "start": { "line": 218, "column": 6 }, "end": { "line": 218, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_dirty_coords", "start": 4914, "end": 4927, "loc": { "start": { "line": 218, "column": 7 }, "end": { "line": 218, "column": 20 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4929, "end": 4930, "loc": { "start": { "line": 218, "column": 22 }, "end": { "line": 218, "column": 23 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 4931, "end": 4936, "loc": { "start": { "line": 218, "column": 24 }, "end": { "line": 218, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4936, "end": 4937, "loc": { "start": { "line": 218, "column": 29 }, "end": { "line": 218, "column": 30 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 4940, "end": 4944, "loc": { "start": { "line": 219, "column": 2 }, "end": { "line": 219, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4944, "end": 4945, "loc": { "start": { "line": 219, "column": 6 }, "end": { "line": 219, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_dirty_normals", "start": 4945, "end": 4959, "loc": { "start": { "line": 219, "column": 7 }, "end": { "line": 219, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4960, "end": 4961, "loc": { "start": { "line": 219, "column": 22 }, "end": { "line": 219, "column": 23 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 4962, "end": 4966, "loc": { "start": { "line": 219, "column": 24 }, "end": { "line": 219, "column": 28 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4966, "end": 4967, "loc": { "start": { "line": 219, "column": 28 }, "end": { "line": 219, "column": 29 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4969, "end": 4970, "loc": { "start": { "line": 220, "column": 1 }, "end": { "line": 220, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n\t * Calculates the normals and edges of the polygon's sides\n\t ", "start": 4973, "end": 5041, "loc": { "start": { "line": 222, "column": 1 }, "end": { "line": 224, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_calculateNormals", "start": 5043, "end": 5060, "loc": { "start": { "line": 225, "column": 1 }, "end": { "line": 225, "column": 18 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5060, "end": 5061, "loc": { "start": { "line": 225, "column": 18 }, "end": { "line": 225, "column": 19 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5061, "end": 5062, "loc": { "start": { "line": 225, "column": 19 }, "end": { "line": 225, "column": 20 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5063, "end": 5064, "loc": { "start": { "line": 225, "column": 21 }, "end": { "line": 225, "column": 22 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5067, "end": 5072, "loc": { "start": { "line": 226, "column": 2 }, "end": { "line": 226, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 5073, "end": 5079, "loc": { "start": { "line": 226, "column": 8 }, "end": { "line": 226, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5081, "end": 5082, "loc": { "start": { "line": 226, "column": 16 }, "end": { "line": 226, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 5083, "end": 5087, "loc": { "start": { "line": 226, "column": 18 }, "end": { "line": 226, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5087, "end": 5088, "loc": { "start": { "line": 226, "column": 22 }, "end": { "line": 226, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_coords", "start": 5088, "end": 5095, "loc": { "start": { "line": 226, "column": 23 }, "end": { "line": 226, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5095, "end": 5096, "loc": { "start": { "line": 226, "column": 30 }, "end": { "line": 226, "column": 31 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5099, "end": 5104, "loc": { "start": { "line": 227, "column": 2 }, "end": { "line": 227, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edges", "start": 5105, "end": 5110, "loc": { "start": { "line": 227, "column": 8 }, "end": { "line": 227, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5113, "end": 5114, "loc": { "start": { "line": 227, "column": 16 }, "end": { "line": 227, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 5115, "end": 5119, "loc": { "start": { "line": 227, "column": 18 }, "end": { "line": 227, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5119, "end": 5120, "loc": { "start": { "line": 227, "column": 22 }, "end": { "line": 227, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_edges", "start": 5120, "end": 5126, "loc": { "start": { "line": 227, "column": 23 }, "end": { "line": 227, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5126, "end": 5127, "loc": { "start": { "line": 227, "column": 29 }, "end": { "line": 227, "column": 30 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5130, "end": 5135, "loc": { "start": { "line": 228, "column": 2 }, "end": { "line": 228, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "normals", "start": 5136, "end": 5143, "loc": { "start": { "line": 228, "column": 8 }, "end": { "line": 228, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5144, "end": 5145, "loc": { "start": { "line": 228, "column": 16 }, "end": { "line": 228, "column": 17 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 5146, "end": 5150, "loc": { "start": { "line": 228, "column": 18 }, "end": { "line": 228, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5150, "end": 5151, "loc": { "start": { "line": 228, "column": 22 }, "end": { "line": 228, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_normals", "start": 5151, "end": 5159, "loc": { "start": { "line": 228, "column": 23 }, "end": { "line": 228, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5159, "end": 5160, "loc": { "start": { "line": 228, "column": 31 }, "end": { "line": 228, "column": 32 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5163, "end": 5168, "loc": { "start": { "line": 229, "column": 2 }, "end": { "line": 229, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 5169, "end": 5174, "loc": { "start": { "line": 229, "column": 8 }, "end": { "line": 229, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5177, "end": 5178, "loc": { "start": { "line": 229, "column": 16 }, "end": { "line": 229, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 5179, "end": 5185, "loc": { "start": { "line": 229, "column": 18 }, "end": { "line": 229, "column": 24 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5185, "end": 5186, "loc": { "start": { "line": 229, "column": 24 }, "end": { "line": 229, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 5186, "end": 5192, "loc": { "start": { "line": 229, "column": 25 }, "end": { "line": 229, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5192, "end": 5193, "loc": { "start": { "line": 229, "column": 31 }, "end": { "line": 229, "column": 32 } } }, { "type": { "label": "for", "keyword": "for", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "for", "start": 5197, "end": 5200, "loc": { "start": { "line": 231, "column": 2 }, "end": { "line": 231, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5200, "end": 5201, "loc": { "start": { "line": 231, "column": 5 }, "end": { "line": 231, "column": 6 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 5201, "end": 5204, "loc": { "start": { "line": 231, "column": 6 }, "end": { "line": 231, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 5205, "end": 5207, "loc": { "start": { "line": 231, "column": 10 }, "end": { "line": 231, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5208, "end": 5209, "loc": { "start": { "line": 231, "column": 13 }, "end": { "line": 231, "column": 14 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 5210, "end": 5211, "loc": { "start": { "line": 231, "column": 15 }, "end": { "line": 231, "column": 16 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5211, "end": 5212, "loc": { "start": { "line": 231, "column": 16 }, "end": { "line": 231, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 5213, "end": 5215, "loc": { "start": { "line": 231, "column": 18 }, "end": { "line": 231, "column": 20 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5216, "end": 5217, "loc": { "start": { "line": 231, "column": 21 }, "end": { "line": 231, "column": 22 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 5218, "end": 5219, "loc": { "start": { "line": 231, "column": 23 }, "end": { "line": 231, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5219, "end": 5220, "loc": { "start": { "line": 231, "column": 24 }, "end": { "line": 231, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 5221, "end": 5223, "loc": { "start": { "line": 231, "column": 26 }, "end": { "line": 231, "column": 28 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 5224, "end": 5225, "loc": { "start": { "line": 231, "column": 29 }, "end": { "line": 231, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 5226, "end": 5231, "loc": { "start": { "line": 231, "column": 31 }, "end": { "line": 231, "column": 36 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5231, "end": 5232, "loc": { "start": { "line": 231, "column": 36 }, "end": { "line": 231, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 5233, "end": 5235, "loc": { "start": { "line": 231, "column": 38 }, "end": { "line": 231, "column": 40 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 5236, "end": 5238, "loc": { "start": { "line": 231, "column": 41 }, "end": { "line": 231, "column": 43 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 5239, "end": 5240, "loc": { "start": { "line": 231, "column": 44 }, "end": { "line": 231, "column": 45 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5240, "end": 5241, "loc": { "start": { "line": 231, "column": 45 }, "end": { "line": 231, "column": 46 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 5242, "end": 5244, "loc": { "start": { "line": 231, "column": 47 }, "end": { "line": 231, "column": 49 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 5245, "end": 5247, "loc": { "start": { "line": 231, "column": 50 }, "end": { "line": 231, "column": 52 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 5248, "end": 5249, "loc": { "start": { "line": 231, "column": 53 }, "end": { "line": 231, "column": 54 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5249, "end": 5250, "loc": { "start": { "line": 231, "column": 54 }, "end": { "line": 231, "column": 55 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5251, "end": 5252, "loc": { "start": { "line": 231, "column": 56 }, "end": { "line": 231, "column": 57 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5256, "end": 5261, "loc": { "start": { "line": 232, "column": 3 }, "end": { "line": 232, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "next", "start": 5262, "end": 5266, "loc": { "start": { "line": 232, "column": 9 }, "end": { "line": 232, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5269, "end": 5270, "loc": { "start": { "line": 232, "column": 16 }, "end": { "line": 232, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 5271, "end": 5273, "loc": { "start": { "line": 232, "column": 18 }, "end": { "line": 232, "column": 20 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 5274, "end": 5275, "loc": { "start": { "line": 232, "column": 21 }, "end": { "line": 232, "column": 22 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 5276, "end": 5277, "loc": { "start": { "line": 232, "column": 23 }, "end": { "line": 232, "column": 24 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 5278, "end": 5279, "loc": { "start": { "line": 232, "column": 25 }, "end": { "line": 232, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 5280, "end": 5285, "loc": { "start": { "line": 232, "column": 27 }, "end": { "line": 232, "column": 32 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5286, "end": 5287, "loc": { "start": { "line": 232, "column": 33 }, "end": { "line": 232, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 5288, "end": 5290, "loc": { "start": { "line": 232, "column": 35 }, "end": { "line": 232, "column": 37 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 5291, "end": 5292, "loc": { "start": { "line": 232, "column": 38 }, "end": { "line": 232, "column": 39 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 5293, "end": 5294, "loc": { "start": { "line": 232, "column": 40 }, "end": { "line": 232, "column": 41 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5295, "end": 5296, "loc": { "start": { "line": 232, "column": 42 }, "end": { "line": 232, "column": 43 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 5297, "end": 5298, "loc": { "start": { "line": 232, "column": 44 }, "end": { "line": 232, "column": 45 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5298, "end": 5299, "loc": { "start": { "line": 232, "column": 45 }, "end": { "line": 232, "column": 46 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5303, "end": 5308, "loc": { "start": { "line": 233, "column": 3 }, "end": { "line": 233, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 5309, "end": 5310, "loc": { "start": { "line": 233, "column": 9 }, "end": { "line": 233, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5316, "end": 5317, "loc": { "start": { "line": 233, "column": 16 }, "end": { "line": 233, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 5318, "end": 5324, "loc": { "start": { "line": 233, "column": 18 }, "end": { "line": 233, "column": 24 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5324, "end": 5325, "loc": { "start": { "line": 233, "column": 24 }, "end": { "line": 233, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "next", "start": 5325, "end": 5329, "loc": { "start": { "line": 233, "column": 25 }, "end": { "line": 233, "column": 29 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5329, "end": 5330, "loc": { "start": { "line": 233, "column": 29 }, "end": { "line": 233, "column": 30 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 5331, "end": 5332, "loc": { "start": { "line": 233, "column": 31 }, "end": { "line": 233, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 5333, "end": 5339, "loc": { "start": { "line": 233, "column": 33 }, "end": { "line": 233, "column": 39 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5339, "end": 5340, "loc": { "start": { "line": 233, "column": 39 }, "end": { "line": 233, "column": 40 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 5340, "end": 5342, "loc": { "start": { "line": 233, "column": 40 }, "end": { "line": 233, "column": 42 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5342, "end": 5343, "loc": { "start": { "line": 233, "column": 42 }, "end": { "line": 233, "column": 43 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5343, "end": 5344, "loc": { "start": { "line": 233, "column": 43 }, "end": { "line": 233, "column": 44 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5348, "end": 5353, "loc": { "start": { "line": 234, "column": 3 }, "end": { "line": 234, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 5354, "end": 5355, "loc": { "start": { "line": 234, "column": 9 }, "end": { "line": 234, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5361, "end": 5362, "loc": { "start": { "line": 234, "column": 16 }, "end": { "line": 234, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 5363, "end": 5369, "loc": { "start": { "line": 234, "column": 18 }, "end": { "line": 234, "column": 24 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5369, "end": 5370, "loc": { "start": { "line": 234, "column": 24 }, "end": { "line": 234, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "next", "start": 5370, "end": 5374, "loc": { "start": { "line": 234, "column": 25 }, "end": { "line": 234, "column": 29 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 5375, "end": 5376, "loc": { "start": { "line": 234, "column": 30 }, "end": { "line": 234, "column": 31 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 5377, "end": 5378, "loc": { "start": { "line": 234, "column": 32 }, "end": { "line": 234, "column": 33 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5378, "end": 5379, "loc": { "start": { "line": 234, "column": 33 }, "end": { "line": 234, "column": 34 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 5380, "end": 5381, "loc": { "start": { "line": 234, "column": 35 }, "end": { "line": 234, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coords", "start": 5382, "end": 5388, "loc": { "start": { "line": 234, "column": 37 }, "end": { "line": 234, "column": 43 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5388, "end": 5389, "loc": { "start": { "line": 234, "column": 43 }, "end": { "line": 234, "column": 44 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 5389, "end": 5391, "loc": { "start": { "line": 234, "column": 44 }, "end": { "line": 234, "column": 46 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5391, "end": 5392, "loc": { "start": { "line": 234, "column": 46 }, "end": { "line": 234, "column": 47 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5392, "end": 5393, "loc": { "start": { "line": 234, "column": 47 }, "end": { "line": 234, "column": 48 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5397, "end": 5402, "loc": { "start": { "line": 235, "column": 3 }, "end": { "line": 235, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 5403, "end": 5409, "loc": { "start": { "line": 235, "column": 9 }, "end": { "line": 235, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5410, "end": 5411, "loc": { "start": { "line": 235, "column": 16 }, "end": { "line": 235, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 5412, "end": 5413, "loc": { "start": { "line": 235, "column": 18 }, "end": { "line": 235, "column": 19 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 5414, "end": 5416, "loc": { "start": { "line": 235, "column": 20 }, "end": { "line": 235, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 5417, "end": 5418, "loc": { "start": { "line": 235, "column": 23 }, "end": { "line": 235, "column": 24 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5419, "end": 5420, "loc": { "start": { "line": 235, "column": 25 }, "end": { "line": 235, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Math", "start": 5421, "end": 5425, "loc": { "start": { "line": 235, "column": 27 }, "end": { "line": 235, "column": 31 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5425, "end": 5426, "loc": { "start": { "line": 235, "column": 31 }, "end": { "line": 235, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sqrt", "start": 5426, "end": 5430, "loc": { "start": { "line": 235, "column": 32 }, "end": { "line": 235, "column": 36 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5430, "end": 5431, "loc": { "start": { "line": 235, "column": 36 }, "end": { "line": 235, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 5431, "end": 5432, "loc": { "start": { "line": 235, "column": 37 }, "end": { "line": 235, "column": 38 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 5433, "end": 5434, "loc": { "start": { "line": 235, "column": 39 }, "end": { "line": 235, "column": 40 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 5435, "end": 5436, "loc": { "start": { "line": 235, "column": 41 }, "end": { "line": 235, "column": 42 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 5437, "end": 5438, "loc": { "start": { "line": 235, "column": 43 }, "end": { "line": 235, "column": 44 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 5439, "end": 5440, "loc": { "start": { "line": 235, "column": 45 }, "end": { "line": 235, "column": 46 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 5441, "end": 5442, "loc": { "start": { "line": 235, "column": 47 }, "end": { "line": 235, "column": 48 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 5443, "end": 5444, "loc": { "start": { "line": 235, "column": 49 }, "end": { "line": 235, "column": 50 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5444, "end": 5445, "loc": { "start": { "line": 235, "column": 50 }, "end": { "line": 235, "column": 51 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5446, "end": 5447, "loc": { "start": { "line": 235, "column": 52 }, "end": { "line": 235, "column": 53 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 5448, "end": 5449, "loc": { "start": { "line": 235, "column": 54 }, "end": { "line": 235, "column": 55 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5449, "end": 5450, "loc": { "start": { "line": 235, "column": 55 }, "end": { "line": 235, "column": 56 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edges", "start": 5455, "end": 5460, "loc": { "start": { "line": 237, "column": 3 }, "end": { "line": 237, "column": 8 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5460, "end": 5461, "loc": { "start": { "line": 237, "column": 8 }, "end": { "line": 237, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 5461, "end": 5463, "loc": { "start": { "line": 237, "column": 9 }, "end": { "line": 237, "column": 11 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5463, "end": 5464, "loc": { "start": { "line": 237, "column": 11 }, "end": { "line": 237, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5467, "end": 5468, "loc": { "start": { "line": 237, "column": 15 }, "end": { "line": 237, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 5469, "end": 5470, "loc": { "start": { "line": 237, "column": 17 }, "end": { "line": 237, "column": 18 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5470, "end": 5471, "loc": { "start": { "line": 237, "column": 18 }, "end": { "line": 237, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edges", "start": 5475, "end": 5480, "loc": { "start": { "line": 238, "column": 3 }, "end": { "line": 238, "column": 8 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5480, "end": 5481, "loc": { "start": { "line": 238, "column": 8 }, "end": { "line": 238, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 5481, "end": 5483, "loc": { "start": { "line": 238, "column": 9 }, "end": { "line": 238, "column": 11 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5483, "end": 5484, "loc": { "start": { "line": 238, "column": 11 }, "end": { "line": 238, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5487, "end": 5488, "loc": { "start": { "line": 238, "column": 15 }, "end": { "line": 238, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 5489, "end": 5490, "loc": { "start": { "line": 238, "column": 17 }, "end": { "line": 238, "column": 18 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5490, "end": 5491, "loc": { "start": { "line": 238, "column": 18 }, "end": { "line": 238, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "normals", "start": 5495, "end": 5502, "loc": { "start": { "line": 239, "column": 3 }, "end": { "line": 239, "column": 10 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5502, "end": 5503, "loc": { "start": { "line": 239, "column": 10 }, "end": { "line": 239, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 5503, "end": 5505, "loc": { "start": { "line": 239, "column": 11 }, "end": { "line": 239, "column": 13 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5505, "end": 5506, "loc": { "start": { "line": 239, "column": 13 }, "end": { "line": 239, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5507, "end": 5508, "loc": { "start": { "line": 239, "column": 15 }, "end": { "line": 239, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 5509, "end": 5515, "loc": { "start": { "line": 239, "column": 17 }, "end": { "line": 239, "column": 23 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5516, "end": 5517, "loc": { "start": { "line": 239, "column": 24 }, "end": { "line": 239, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 5518, "end": 5519, "loc": { "start": { "line": 239, "column": 26 }, "end": { "line": 239, "column": 27 } } }, { "type": { "label": "/", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "/", "start": 5520, "end": 5521, "loc": { "start": { "line": 239, "column": 28 }, "end": { "line": 239, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 5522, "end": 5528, "loc": { "start": { "line": 239, "column": 30 }, "end": { "line": 239, "column": 36 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5529, "end": 5530, "loc": { "start": { "line": 239, "column": 37 }, "end": { "line": 239, "column": 38 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 5531, "end": 5532, "loc": { "start": { "line": 239, "column": 39 }, "end": { "line": 239, "column": 40 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5532, "end": 5533, "loc": { "start": { "line": 239, "column": 40 }, "end": { "line": 239, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "normals", "start": 5537, "end": 5544, "loc": { "start": { "line": 240, "column": 3 }, "end": { "line": 240, "column": 10 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5544, "end": 5545, "loc": { "start": { "line": 240, "column": 10 }, "end": { "line": 240, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 5545, "end": 5547, "loc": { "start": { "line": 240, "column": 11 }, "end": { "line": 240, "column": 13 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5547, "end": 5548, "loc": { "start": { "line": 240, "column": 13 }, "end": { "line": 240, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5549, "end": 5550, "loc": { "start": { "line": 240, "column": 15 }, "end": { "line": 240, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 5551, "end": 5557, "loc": { "start": { "line": 240, "column": 17 }, "end": { "line": 240, "column": 23 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5558, "end": 5559, "loc": { "start": { "line": 240, "column": 24 }, "end": { "line": 240, "column": 25 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 5560, "end": 5561, "loc": { "start": { "line": 240, "column": 26 }, "end": { "line": 240, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 5561, "end": 5562, "loc": { "start": { "line": 240, "column": 27 }, "end": { "line": 240, "column": 28 } } }, { "type": { "label": "/", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "/", "start": 5563, "end": 5564, "loc": { "start": { "line": 240, "column": 29 }, "end": { "line": 240, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 5565, "end": 5571, "loc": { "start": { "line": 240, "column": 31 }, "end": { "line": 240, "column": 37 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5572, "end": 5573, "loc": { "start": { "line": 240, "column": 38 }, "end": { "line": 240, "column": 39 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 5574, "end": 5575, "loc": { "start": { "line": 240, "column": 40 }, "end": { "line": 240, "column": 41 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5575, "end": 5576, "loc": { "start": { "line": 240, "column": 41 }, "end": { "line": 240, "column": 42 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5579, "end": 5580, "loc": { "start": { "line": 241, "column": 2 }, "end": { "line": 241, "column": 3 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 5584, "end": 5588, "loc": { "start": { "line": 243, "column": 2 }, "end": { "line": 243, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5588, "end": 5589, "loc": { "start": { "line": 243, "column": 6 }, "end": { "line": 243, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_dirty_normals", "start": 5589, "end": 5603, "loc": { "start": { "line": 243, "column": 7 }, "end": { "line": 243, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5604, "end": 5605, "loc": { "start": { "line": 243, "column": 22 }, "end": { "line": 243, "column": 23 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 5606, "end": 5611, "loc": { "start": { "line": 243, "column": 24 }, "end": { "line": 243, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5611, "end": 5612, "loc": { "start": { "line": 243, "column": 29 }, "end": { "line": 243, "column": 30 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5614, "end": 5615, "loc": { "start": { "line": 244, "column": 1 }, "end": { "line": 244, "column": 2 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5616, "end": 5617, "loc": { "start": { "line": 245, "column": 0 }, "end": { "line": 245, "column": 1 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5617, "end": 5618, "loc": { "start": { "line": 245, "column": 1 }, "end": { "line": 245, "column": 2 } } }, { "type": { "label": "eof", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5619, "end": 5619, "loc": { "start": { "line": 246, "column": 0 }, "end": { "line": 246, "column": 0 } } } ] } ================================================ FILE: docs/ast/source/modules/Result.mjs.json ================================================ { "type": "File", "start": 0, "end": 1158, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 61, "column": 0 } }, "program": { "type": "Program", "start": 0, "end": 1158, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 61, "column": 0 } }, "sourceType": "module", "body": [ { "type": "ExportDefaultDeclaration", "start": 211, "end": 1156, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 60, "column": 1 } }, "declaration": { "type": "ClassDeclaration", "start": 226, "end": 1156, "loc": { "start": { "line": 7, "column": 15 }, "end": { "line": 60, "column": 1 } }, "id": { "type": "Identifier", "start": 232, "end": 238, "loc": { "start": { "line": 7, "column": 21 }, "end": { "line": 7, "column": 27 }, "identifierName": "Result" }, "name": "Result", "leadingComments": null }, "superClass": null, "body": { "type": "ClassBody", "start": 239, "end": 1156, "loc": { "start": { "line": 7, "column": 28 }, "end": { "line": 60, "column": 1 } }, "body": [ { "type": "ClassMethod", "start": 269, "end": 1154, "loc": { "start": { "line": 11, "column": 1 }, "end": { "line": 59, "column": 2 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 269, "end": 280, "loc": { "start": { "line": 11, "column": 1 }, "end": { "line": 11, "column": 12 }, "identifierName": "constructor" }, "name": "constructor", "leadingComments": null }, "kind": "constructor", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 283, "end": 1154, "loc": { "start": { "line": 11, "column": 15 }, "end": { "line": 59, "column": 2 } }, "body": [ { "type": "ExpressionStatement", "start": 364, "end": 387, "loc": { "start": { "line": 16, "column": 2 }, "end": { "line": 16, "column": 25 } }, "expression": { "type": "AssignmentExpression", "start": 364, "end": 386, "loc": { "start": { "line": 16, "column": 2 }, "end": { "line": 16, "column": 24 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 364, "end": 378, "loc": { "start": { "line": 16, "column": 2 }, "end": { "line": 16, "column": 16 } }, "object": { "type": "ThisExpression", "start": 364, "end": 368, "loc": { "start": { "line": 16, "column": 2 }, "end": { "line": 16, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 369, "end": 378, "loc": { "start": { "line": 16, "column": 7 }, "end": { "line": 16, "column": 16 }, "identifierName": "collision" }, "name": "collision" }, "computed": false, "leadingComments": null }, "right": { "type": "BooleanLiteral", "start": 381, "end": 386, "loc": { "start": { "line": 16, "column": 19 }, "end": { "line": 16, "column": 24 } }, "value": false }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc True if a collision was detected\n\t\t * @type {Boolean}\n\t\t ", "start": 287, "end": 361, "loc": { "start": { "line": 12, "column": 2 }, "end": { "line": 15, "column": 5 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The source body tested\n\t\t * @type {Circle|Polygon|Point}\n\t\t ", "start": 391, "end": 468, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 21, "column": 5 } } } ] }, { "type": "ExpressionStatement", "start": 471, "end": 485, "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 22, "column": 16 } }, "expression": { "type": "AssignmentExpression", "start": 471, "end": 484, "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 22, "column": 15 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 471, "end": 477, "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 22, "column": 8 } }, "object": { "type": "ThisExpression", "start": 471, "end": 475, "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 22, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 476, "end": 477, "loc": { "start": { "line": 22, "column": 7 }, "end": { "line": 22, "column": 8 }, "identifierName": "a" }, "name": "a" }, "computed": false, "leadingComments": null }, "right": { "type": "NullLiteral", "start": 480, "end": 484, "loc": { "start": { "line": 22, "column": 11 }, "end": { "line": 22, "column": 15 } } }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The source body tested\n\t\t * @type {Circle|Polygon|Point}\n\t\t ", "start": 391, "end": 468, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 21, "column": 5 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The target body tested against\n\t\t * @type {Circle|Polygon|Point}\n\t\t ", "start": 489, "end": 574, "loc": { "start": { "line": 24, "column": 2 }, "end": { "line": 27, "column": 5 } } } ] }, { "type": "ExpressionStatement", "start": 577, "end": 591, "loc": { "start": { "line": 28, "column": 2 }, "end": { "line": 28, "column": 16 } }, "expression": { "type": "AssignmentExpression", "start": 577, "end": 590, "loc": { "start": { "line": 28, "column": 2 }, "end": { "line": 28, "column": 15 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 577, "end": 583, "loc": { "start": { "line": 28, "column": 2 }, "end": { "line": 28, "column": 8 } }, "object": { "type": "ThisExpression", "start": 577, "end": 581, "loc": { "start": { "line": 28, "column": 2 }, "end": { "line": 28, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 582, "end": 583, "loc": { "start": { "line": 28, "column": 7 }, "end": { "line": 28, "column": 8 }, "identifierName": "b" }, "name": "b" }, "computed": false, "leadingComments": null }, "right": { "type": "NullLiteral", "start": 586, "end": 590, "loc": { "start": { "line": 28, "column": 11 }, "end": { "line": 28, "column": 15 } } }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The target body tested against\n\t\t * @type {Circle|Polygon|Point}\n\t\t ", "start": 489, "end": 574, "loc": { "start": { "line": 24, "column": 2 }, "end": { "line": 27, "column": 5 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc True if A is completely contained within B\n\t\t * @type {Boolean}\n\t\t ", "start": 595, "end": 679, "loc": { "start": { "line": 30, "column": 2 }, "end": { "line": 33, "column": 5 } } } ] }, { "type": "ExpressionStatement", "start": 682, "end": 702, "loc": { "start": { "line": 34, "column": 2 }, "end": { "line": 34, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 682, "end": 701, "loc": { "start": { "line": 34, "column": 2 }, "end": { "line": 34, "column": 21 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 682, "end": 693, "loc": { "start": { "line": 34, "column": 2 }, "end": { "line": 34, "column": 13 } }, "object": { "type": "ThisExpression", "start": 682, "end": 686, "loc": { "start": { "line": 34, "column": 2 }, "end": { "line": 34, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 687, "end": 693, "loc": { "start": { "line": 34, "column": 7 }, "end": { "line": 34, "column": 13 }, "identifierName": "a_in_b" }, "name": "a_in_b" }, "computed": false, "leadingComments": null }, "right": { "type": "BooleanLiteral", "start": 696, "end": 701, "loc": { "start": { "line": 34, "column": 16 }, "end": { "line": 34, "column": 21 } }, "value": false }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc True if A is completely contained within B\n\t\t * @type {Boolean}\n\t\t ", "start": 595, "end": 679, "loc": { "start": { "line": 30, "column": 2 }, "end": { "line": 33, "column": 5 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc True if B is completely contained within A\n\t\t * @type {Boolean}\n\t\t ", "start": 706, "end": 790, "loc": { "start": { "line": 36, "column": 2 }, "end": { "line": 39, "column": 5 } } } ] }, { "type": "ExpressionStatement", "start": 793, "end": 813, "loc": { "start": { "line": 40, "column": 2 }, "end": { "line": 40, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 793, "end": 812, "loc": { "start": { "line": 40, "column": 2 }, "end": { "line": 40, "column": 21 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 793, "end": 804, "loc": { "start": { "line": 40, "column": 2 }, "end": { "line": 40, "column": 13 } }, "object": { "type": "ThisExpression", "start": 793, "end": 797, "loc": { "start": { "line": 40, "column": 2 }, "end": { "line": 40, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 798, "end": 804, "loc": { "start": { "line": 40, "column": 7 }, "end": { "line": 40, "column": 13 }, "identifierName": "a_in_b" }, "name": "a_in_b" }, "computed": false, "leadingComments": null }, "right": { "type": "BooleanLiteral", "start": 807, "end": 812, "loc": { "start": { "line": 40, "column": 16 }, "end": { "line": 40, "column": 21 } }, "value": false }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc True if B is completely contained within A\n\t\t * @type {Boolean}\n\t\t ", "start": 706, "end": 790, "loc": { "start": { "line": 36, "column": 2 }, "end": { "line": 39, "column": 5 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The magnitude of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t ", "start": 817, "end": 903, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 45, "column": 5 } } } ] }, { "type": "ExpressionStatement", "start": 906, "end": 923, "loc": { "start": { "line": 46, "column": 2 }, "end": { "line": 46, "column": 19 } }, "expression": { "type": "AssignmentExpression", "start": 906, "end": 922, "loc": { "start": { "line": 46, "column": 2 }, "end": { "line": 46, "column": 18 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 906, "end": 918, "loc": { "start": { "line": 46, "column": 2 }, "end": { "line": 46, "column": 14 } }, "object": { "type": "ThisExpression", "start": 906, "end": 910, "loc": { "start": { "line": 46, "column": 2 }, "end": { "line": 46, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 911, "end": 918, "loc": { "start": { "line": 46, "column": 7 }, "end": { "line": 46, "column": 14 }, "identifierName": "overlap" }, "name": "overlap" }, "computed": false, "leadingComments": null }, "right": { "type": "NumericLiteral", "start": 921, "end": 922, "loc": { "start": { "line": 46, "column": 17 }, "end": { "line": 46, "column": 18 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The magnitude of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t ", "start": 817, "end": 903, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 45, "column": 5 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The X direction of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t ", "start": 927, "end": 1015, "loc": { "start": { "line": 48, "column": 2 }, "end": { "line": 51, "column": 5 } } } ] }, { "type": "ExpressionStatement", "start": 1018, "end": 1037, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 21 } }, "expression": { "type": "AssignmentExpression", "start": 1018, "end": 1036, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 20 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1018, "end": 1032, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 16 } }, "object": { "type": "ThisExpression", "start": 1018, "end": 1022, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1023, "end": 1032, "loc": { "start": { "line": 52, "column": 7 }, "end": { "line": 52, "column": 16 }, "identifierName": "overlap_x" }, "name": "overlap_x" }, "computed": false, "leadingComments": null }, "right": { "type": "NumericLiteral", "start": 1035, "end": 1036, "loc": { "start": { "line": 52, "column": 19 }, "end": { "line": 52, "column": 20 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The X direction of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t ", "start": 927, "end": 1015, "loc": { "start": { "line": 48, "column": 2 }, "end": { "line": 51, "column": 5 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The Y direction of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t ", "start": 1041, "end": 1129, "loc": { "start": { "line": 54, "column": 2 }, "end": { "line": 57, "column": 5 } } } ] }, { "type": "ExpressionStatement", "start": 1132, "end": 1151, "loc": { "start": { "line": 58, "column": 2 }, "end": { "line": 58, "column": 21 } }, "expression": { "type": "AssignmentExpression", "start": 1132, "end": 1150, "loc": { "start": { "line": 58, "column": 2 }, "end": { "line": 58, "column": 20 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1132, "end": 1146, "loc": { "start": { "line": 58, "column": 2 }, "end": { "line": 58, "column": 16 } }, "object": { "type": "ThisExpression", "start": 1132, "end": 1136, "loc": { "start": { "line": 58, "column": 2 }, "end": { "line": 58, "column": 6 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1137, "end": 1146, "loc": { "start": { "line": 58, "column": 7 }, "end": { "line": 58, "column": 16 }, "identifierName": "overlap_y" }, "name": "overlap_y" }, "computed": false, "leadingComments": null }, "right": { "type": "NumericLiteral", "start": 1149, "end": 1150, "loc": { "start": { "line": 58, "column": 19 }, "end": { "line": 58, "column": 20 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t\t * @desc The Y direction of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t ", "start": 1041, "end": 1129, "loc": { "start": { "line": 54, "column": 2 }, "end": { "line": 57, "column": 5 } } } ] } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t ", "start": 242, "end": 267, "loc": { "start": { "line": 8, "column": 1 }, "end": { "line": 10, "column": 4 } } } ] } ] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * An object used to collect the detailed results of a collision test\n *\n * > **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory\n * @class\n ", "start": 0, "end": 210, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 6, "column": 3 } } } ], "trailingComments": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * An object used to collect the detailed results of a collision test\n *\n * > **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory\n * @class\n ", "start": 0, "end": 210, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 6, "column": 3 } } } ] }, { "type": "EmptyStatement", "start": 1156, "end": 1157, "loc": { "start": { "line": 60, "column": 1 }, "end": { "line": 60, "column": 2 } } } ], "directives": [] }, "comments": [ { "type": "CommentBlock", "value": "*\n * An object used to collect the detailed results of a collision test\n *\n * > **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory\n * @class\n ", "start": 0, "end": 210, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 6, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t ", "start": 242, "end": 267, "loc": { "start": { "line": 8, "column": 1 }, "end": { "line": 10, "column": 4 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc True if a collision was detected\n\t\t * @type {Boolean}\n\t\t ", "start": 287, "end": 361, "loc": { "start": { "line": 12, "column": 2 }, "end": { "line": 15, "column": 5 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The source body tested\n\t\t * @type {Circle|Polygon|Point}\n\t\t ", "start": 391, "end": 468, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 21, "column": 5 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The target body tested against\n\t\t * @type {Circle|Polygon|Point}\n\t\t ", "start": 489, "end": 574, "loc": { "start": { "line": 24, "column": 2 }, "end": { "line": 27, "column": 5 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc True if A is completely contained within B\n\t\t * @type {Boolean}\n\t\t ", "start": 595, "end": 679, "loc": { "start": { "line": 30, "column": 2 }, "end": { "line": 33, "column": 5 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc True if B is completely contained within A\n\t\t * @type {Boolean}\n\t\t ", "start": 706, "end": 790, "loc": { "start": { "line": 36, "column": 2 }, "end": { "line": 39, "column": 5 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The magnitude of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t ", "start": 817, "end": 903, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 45, "column": 5 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The X direction of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t ", "start": 927, "end": 1015, "loc": { "start": { "line": 48, "column": 2 }, "end": { "line": 51, "column": 5 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The Y direction of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t ", "start": 1041, "end": 1129, "loc": { "start": { "line": 54, "column": 2 }, "end": { "line": 57, "column": 5 } } } ], "tokens": [ { "type": "CommentBlock", "value": "*\n * An object used to collect the detailed results of a collision test\n *\n * > **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory\n * @class\n ", "start": 0, "end": 210, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 6, "column": 3 } } }, { "type": { "label": "export", "keyword": "export", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "export", "start": 211, "end": 217, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 7, "column": 6 } } }, { "type": { "label": "default", "keyword": "default", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "default", "start": 218, "end": 225, "loc": { "start": { "line": 7, "column": 7 }, "end": { "line": 7, "column": 14 } } }, { "type": { "label": "class", "keyword": "class", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "class", "start": 226, "end": 231, "loc": { "start": { "line": 7, "column": 15 }, "end": { "line": 7, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Result", "start": 232, "end": 238, "loc": { "start": { "line": 7, "column": 21 }, "end": { "line": 7, "column": 27 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 239, "end": 240, "loc": { "start": { "line": 7, "column": 28 }, "end": { "line": 7, "column": 29 } } }, { "type": "CommentBlock", "value": "*\n\t * @constructor\n\t ", "start": 242, "end": 267, "loc": { "start": { "line": 8, "column": 1 }, "end": { "line": 10, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "constructor", "start": 269, "end": 280, "loc": { "start": { "line": 11, "column": 1 }, "end": { "line": 11, "column": 12 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 280, "end": 281, "loc": { "start": { "line": 11, "column": 12 }, "end": { "line": 11, "column": 13 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 281, "end": 282, "loc": { "start": { "line": 11, "column": 13 }, "end": { "line": 11, "column": 14 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 283, "end": 284, "loc": { "start": { "line": 11, "column": 15 }, "end": { "line": 11, "column": 16 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc True if a collision was detected\n\t\t * @type {Boolean}\n\t\t ", "start": 287, "end": 361, "loc": { "start": { "line": 12, "column": 2 }, "end": { "line": 15, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 364, "end": 368, "loc": { "start": { "line": 16, "column": 2 }, "end": { "line": 16, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 368, "end": 369, "loc": { "start": { "line": 16, "column": 6 }, "end": { "line": 16, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "collision", "start": 369, "end": 378, "loc": { "start": { "line": 16, "column": 7 }, "end": { "line": 16, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 379, "end": 380, "loc": { "start": { "line": 16, "column": 17 }, "end": { "line": 16, "column": 18 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 381, "end": 386, "loc": { "start": { "line": 16, "column": 19 }, "end": { "line": 16, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 386, "end": 387, "loc": { "start": { "line": 16, "column": 24 }, "end": { "line": 16, "column": 25 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The source body tested\n\t\t * @type {Circle|Polygon|Point}\n\t\t ", "start": 391, "end": 468, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 21, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 471, "end": 475, "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 22, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 475, "end": 476, "loc": { "start": { "line": 22, "column": 6 }, "end": { "line": 22, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 476, "end": 477, "loc": { "start": { "line": 22, "column": 7 }, "end": { "line": 22, "column": 8 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 478, "end": 479, "loc": { "start": { "line": 22, "column": 9 }, "end": { "line": 22, "column": 10 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 480, "end": 484, "loc": { "start": { "line": 22, "column": 11 }, "end": { "line": 22, "column": 15 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 484, "end": 485, "loc": { "start": { "line": 22, "column": 15 }, "end": { "line": 22, "column": 16 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The target body tested against\n\t\t * @type {Circle|Polygon|Point}\n\t\t ", "start": 489, "end": 574, "loc": { "start": { "line": 24, "column": 2 }, "end": { "line": 27, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 577, "end": 581, "loc": { "start": { "line": 28, "column": 2 }, "end": { "line": 28, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 581, "end": 582, "loc": { "start": { "line": 28, "column": 6 }, "end": { "line": 28, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 582, "end": 583, "loc": { "start": { "line": 28, "column": 7 }, "end": { "line": 28, "column": 8 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 584, "end": 585, "loc": { "start": { "line": 28, "column": 9 }, "end": { "line": 28, "column": 10 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 586, "end": 590, "loc": { "start": { "line": 28, "column": 11 }, "end": { "line": 28, "column": 15 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 590, "end": 591, "loc": { "start": { "line": 28, "column": 15 }, "end": { "line": 28, "column": 16 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc True if A is completely contained within B\n\t\t * @type {Boolean}\n\t\t ", "start": 595, "end": 679, "loc": { "start": { "line": 30, "column": 2 }, "end": { "line": 33, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 682, "end": 686, "loc": { "start": { "line": 34, "column": 2 }, "end": { "line": 34, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 686, "end": 687, "loc": { "start": { "line": 34, "column": 6 }, "end": { "line": 34, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_in_b", "start": 687, "end": 693, "loc": { "start": { "line": 34, "column": 7 }, "end": { "line": 34, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 694, "end": 695, "loc": { "start": { "line": 34, "column": 14 }, "end": { "line": 34, "column": 15 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 696, "end": 701, "loc": { "start": { "line": 34, "column": 16 }, "end": { "line": 34, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 701, "end": 702, "loc": { "start": { "line": 34, "column": 21 }, "end": { "line": 34, "column": 22 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc True if B is completely contained within A\n\t\t * @type {Boolean}\n\t\t ", "start": 706, "end": 790, "loc": { "start": { "line": 36, "column": 2 }, "end": { "line": 39, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 793, "end": 797, "loc": { "start": { "line": 40, "column": 2 }, "end": { "line": 40, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 797, "end": 798, "loc": { "start": { "line": 40, "column": 6 }, "end": { "line": 40, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_in_b", "start": 798, "end": 804, "loc": { "start": { "line": 40, "column": 7 }, "end": { "line": 40, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 805, "end": 806, "loc": { "start": { "line": 40, "column": 14 }, "end": { "line": 40, "column": 15 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 807, "end": 812, "loc": { "start": { "line": 40, "column": 16 }, "end": { "line": 40, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 812, "end": 813, "loc": { "start": { "line": 40, "column": 21 }, "end": { "line": 40, "column": 22 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The magnitude of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t ", "start": 817, "end": 903, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 45, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 906, "end": 910, "loc": { "start": { "line": 46, "column": 2 }, "end": { "line": 46, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 910, "end": 911, "loc": { "start": { "line": 46, "column": 6 }, "end": { "line": 46, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 911, "end": 918, "loc": { "start": { "line": 46, "column": 7 }, "end": { "line": 46, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 919, "end": 920, "loc": { "start": { "line": 46, "column": 15 }, "end": { "line": 46, "column": 16 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 921, "end": 922, "loc": { "start": { "line": 46, "column": 17 }, "end": { "line": 46, "column": 18 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 922, "end": 923, "loc": { "start": { "line": 46, "column": 18 }, "end": { "line": 46, "column": 19 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The X direction of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t ", "start": 927, "end": 1015, "loc": { "start": { "line": 48, "column": 2 }, "end": { "line": 51, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1018, "end": 1022, "loc": { "start": { "line": 52, "column": 2 }, "end": { "line": 52, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1022, "end": 1023, "loc": { "start": { "line": 52, "column": 6 }, "end": { "line": 52, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_x", "start": 1023, "end": 1032, "loc": { "start": { "line": 52, "column": 7 }, "end": { "line": 52, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1033, "end": 1034, "loc": { "start": { "line": 52, "column": 17 }, "end": { "line": 52, "column": 18 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1035, "end": 1036, "loc": { "start": { "line": 52, "column": 19 }, "end": { "line": 52, "column": 20 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1036, "end": 1037, "loc": { "start": { "line": 52, "column": 20 }, "end": { "line": 52, "column": 21 } } }, { "type": "CommentBlock", "value": "*\n\t\t * @desc The Y direction of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t ", "start": 1041, "end": 1129, "loc": { "start": { "line": 54, "column": 2 }, "end": { "line": 57, "column": 5 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1132, "end": 1136, "loc": { "start": { "line": 58, "column": 2 }, "end": { "line": 58, "column": 6 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1136, "end": 1137, "loc": { "start": { "line": 58, "column": 6 }, "end": { "line": 58, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_y", "start": 1137, "end": 1146, "loc": { "start": { "line": 58, "column": 7 }, "end": { "line": 58, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1147, "end": 1148, "loc": { "start": { "line": 58, "column": 17 }, "end": { "line": 58, "column": 18 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1149, "end": 1150, "loc": { "start": { "line": 58, "column": 19 }, "end": { "line": 58, "column": 20 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1150, "end": 1151, "loc": { "start": { "line": 58, "column": 20 }, "end": { "line": 58, "column": 21 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1153, "end": 1154, "loc": { "start": { "line": 59, "column": 1 }, "end": { "line": 59, "column": 2 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1155, "end": 1156, "loc": { "start": { "line": 60, "column": 0 }, "end": { "line": 60, "column": 1 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1156, "end": 1157, "loc": { "start": { "line": 60, "column": 1 }, "end": { "line": 60, "column": 2 } } }, { "type": { "label": "eof", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1158, "end": 1158, "loc": { "start": { "line": 61, "column": 0 }, "end": { "line": 61, "column": 0 } } } ] } ================================================ FILE: docs/ast/source/modules/SAT.mjs.json ================================================ { "type": "File", "start": 0, "end": 11274, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 412, "column": 0 } }, "program": { "type": "Program", "start": 0, "end": 11274, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 412, "column": 0 } }, "sourceType": "module", "body": [ { "type": "ExportDefaultDeclaration", "start": 463, "end": 1710, "loc": { "start": { "line": 10, "column": 0 }, "end": { "line": 74, "column": 1 } }, "declaration": { "type": "FunctionDeclaration", "start": 478, "end": 1710, "loc": { "start": { "line": 10, "column": 15 }, "end": { "line": 74, "column": 1 } }, "id": { "type": "Identifier", "start": 487, "end": 490, "loc": { "start": { "line": 10, "column": 24 }, "end": { "line": 10, "column": 27 }, "identifierName": "SAT" }, "name": "SAT", "leadingComments": null }, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 491, "end": 492, "loc": { "start": { "line": 10, "column": 28 }, "end": { "line": 10, "column": 29 }, "identifierName": "a" }, "name": "a" }, { "type": "Identifier", "start": 494, "end": 495, "loc": { "start": { "line": 10, "column": 31 }, "end": { "line": 10, "column": 32 }, "identifierName": "b" }, "name": "b" }, { "type": "AssignmentPattern", "start": 497, "end": 510, "loc": { "start": { "line": 10, "column": 34 }, "end": { "line": 10, "column": 47 } }, "left": { "type": "Identifier", "start": 497, "end": 503, "loc": { "start": { "line": 10, "column": 34 }, "end": { "line": 10, "column": 40 }, "identifierName": "result" }, "name": "result" }, "right": { "type": "NullLiteral", "start": 506, "end": 510, "loc": { "start": { "line": 10, "column": 43 }, "end": { "line": 10, "column": 47 } } } }, { "type": "AssignmentPattern", "start": 512, "end": 523, "loc": { "start": { "line": 10, "column": 49 }, "end": { "line": 10, "column": 60 } }, "left": { "type": "Identifier", "start": 512, "end": 516, "loc": { "start": { "line": 10, "column": 49 }, "end": { "line": 10, "column": 53 }, "identifierName": "aabb" }, "name": "aabb" }, "right": { "type": "BooleanLiteral", "start": 519, "end": 523, "loc": { "start": { "line": 10, "column": 56 }, "end": { "line": 10, "column": 60 } }, "value": true } } ], "body": { "type": "BlockStatement", "start": 525, "end": 1710, "loc": { "start": { "line": 10, "column": 62 }, "end": { "line": 74, "column": 1 } }, "body": [ { "type": "VariableDeclaration", "start": 528, "end": 557, "loc": { "start": { "line": 11, "column": 1 }, "end": { "line": 11, "column": 30 } }, "declarations": [ { "type": "VariableDeclarator", "start": 534, "end": 556, "loc": { "start": { "line": 11, "column": 7 }, "end": { "line": 11, "column": 29 } }, "id": { "type": "Identifier", "start": 534, "end": 543, "loc": { "start": { "line": 11, "column": 7 }, "end": { "line": 11, "column": 16 }, "identifierName": "a_polygon" }, "name": "a_polygon" }, "init": { "type": "MemberExpression", "start": 546, "end": 556, "loc": { "start": { "line": 11, "column": 19 }, "end": { "line": 11, "column": 29 } }, "object": { "type": "Identifier", "start": 546, "end": 547, "loc": { "start": { "line": 11, "column": 19 }, "end": { "line": 11, "column": 20 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 548, "end": 556, "loc": { "start": { "line": 11, "column": 21 }, "end": { "line": 11, "column": 29 }, "identifierName": "_polygon" }, "name": "_polygon" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 559, "end": 588, "loc": { "start": { "line": 12, "column": 1 }, "end": { "line": 12, "column": 30 } }, "declarations": [ { "type": "VariableDeclarator", "start": 565, "end": 587, "loc": { "start": { "line": 12, "column": 7 }, "end": { "line": 12, "column": 29 } }, "id": { "type": "Identifier", "start": 565, "end": 574, "loc": { "start": { "line": 12, "column": 7 }, "end": { "line": 12, "column": 16 }, "identifierName": "b_polygon" }, "name": "b_polygon" }, "init": { "type": "MemberExpression", "start": 577, "end": 587, "loc": { "start": { "line": 12, "column": 19 }, "end": { "line": 12, "column": 29 } }, "object": { "type": "Identifier", "start": 577, "end": 578, "loc": { "start": { "line": 12, "column": 19 }, "end": { "line": 12, "column": 20 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 579, "end": 587, "loc": { "start": { "line": 12, "column": 21 }, "end": { "line": 12, "column": 29 }, "identifierName": "_polygon" }, "name": "_polygon" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 591, "end": 613, "loc": { "start": { "line": 14, "column": 1 }, "end": { "line": 14, "column": 23 } }, "declarations": [ { "type": "VariableDeclarator", "start": 595, "end": 612, "loc": { "start": { "line": 14, "column": 5 }, "end": { "line": 14, "column": 22 } }, "id": { "type": "Identifier", "start": 595, "end": 604, "loc": { "start": { "line": 14, "column": 5 }, "end": { "line": 14, "column": 14 }, "identifierName": "collision" }, "name": "collision" }, "init": { "type": "BooleanLiteral", "start": 607, "end": 612, "loc": { "start": { "line": 14, "column": 17 }, "end": { "line": 14, "column": 22 } }, "value": false } } ], "kind": "let" }, { "type": "IfStatement", "start": 616, "end": 808, "loc": { "start": { "line": 16, "column": 1 }, "end": { "line": 24, "column": 2 } }, "test": { "type": "Identifier", "start": 619, "end": 625, "loc": { "start": { "line": 16, "column": 4 }, "end": { "line": 16, "column": 10 }, "identifierName": "result" }, "name": "result" }, "consequent": { "type": "BlockStatement", "start": 627, "end": 808, "loc": { "start": { "line": 16, "column": 12 }, "end": { "line": 24, "column": 2 } }, "body": [ { "type": "ExpressionStatement", "start": 631, "end": 652, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 23 } }, "expression": { "type": "AssignmentExpression", "start": 631, "end": 651, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 22 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 631, "end": 639, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 10 } }, "object": { "type": "Identifier", "start": 631, "end": 637, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 638, "end": 639, "loc": { "start": { "line": 17, "column": 9 }, "end": { "line": 17, "column": 10 }, "identifierName": "a" }, "name": "a" }, "computed": false }, "right": { "type": "Identifier", "start": 650, "end": 651, "loc": { "start": { "line": 17, "column": 21 }, "end": { "line": 17, "column": 22 }, "identifierName": "a" }, "name": "a" } } }, { "type": "ExpressionStatement", "start": 655, "end": 676, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 23 } }, "expression": { "type": "AssignmentExpression", "start": 655, "end": 675, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 22 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 655, "end": 663, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 10 } }, "object": { "type": "Identifier", "start": 655, "end": 661, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 662, "end": 663, "loc": { "start": { "line": 18, "column": 9 }, "end": { "line": 18, "column": 10 }, "identifierName": "b" }, "name": "b" }, "computed": false }, "right": { "type": "Identifier", "start": 674, "end": 675, "loc": { "start": { "line": 18, "column": 21 }, "end": { "line": 18, "column": 22 }, "identifierName": "b" }, "name": "b" } } }, { "type": "ExpressionStatement", "start": 679, "end": 703, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 679, "end": 702, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 25 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 679, "end": 692, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 15 } }, "object": { "type": "Identifier", "start": 679, "end": 685, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 686, "end": 692, "loc": { "start": { "line": 19, "column": 9 }, "end": { "line": 19, "column": 15 }, "identifierName": "a_in_b" }, "name": "a_in_b" }, "computed": false }, "right": { "type": "BooleanLiteral", "start": 698, "end": 702, "loc": { "start": { "line": 19, "column": 21 }, "end": { "line": 19, "column": 25 } }, "value": true } } }, { "type": "ExpressionStatement", "start": 706, "end": 730, "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 20, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 706, "end": 729, "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 20, "column": 25 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 706, "end": 719, "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 20, "column": 15 } }, "object": { "type": "Identifier", "start": 706, "end": 712, "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 20, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 713, "end": 719, "loc": { "start": { "line": 20, "column": 9 }, "end": { "line": 20, "column": 15 }, "identifierName": "b_in_a" }, "name": "b_in_a" }, "computed": false }, "right": { "type": "BooleanLiteral", "start": 725, "end": 729, "loc": { "start": { "line": 20, "column": 21 }, "end": { "line": 20, "column": 25 } }, "value": true } } }, { "type": "ExpressionStatement", "start": 733, "end": 757, "loc": { "start": { "line": 21, "column": 2 }, "end": { "line": 21, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 733, "end": 756, "loc": { "start": { "line": 21, "column": 2 }, "end": { "line": 21, "column": 25 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 733, "end": 747, "loc": { "start": { "line": 21, "column": 2 }, "end": { "line": 21, "column": 16 } }, "object": { "type": "Identifier", "start": 733, "end": 739, "loc": { "start": { "line": 21, "column": 2 }, "end": { "line": 21, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 740, "end": 747, "loc": { "start": { "line": 21, "column": 9 }, "end": { "line": 21, "column": 16 }, "identifierName": "overlap" }, "name": "overlap" }, "computed": false }, "right": { "type": "NullLiteral", "start": 752, "end": 756, "loc": { "start": { "line": 21, "column": 21 }, "end": { "line": 21, "column": 25 } } } } }, { "type": "ExpressionStatement", "start": 760, "end": 781, "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 22, "column": 23 } }, "expression": { "type": "AssignmentExpression", "start": 760, "end": 780, "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 22, "column": 22 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 760, "end": 776, "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 22, "column": 18 } }, "object": { "type": "Identifier", "start": 760, "end": 766, "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 22, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 767, "end": 776, "loc": { "start": { "line": 22, "column": 9 }, "end": { "line": 22, "column": 18 }, "identifierName": "overlap_x" }, "name": "overlap_x" }, "computed": false }, "right": { "type": "NumericLiteral", "start": 779, "end": 780, "loc": { "start": { "line": 22, "column": 21 }, "end": { "line": 22, "column": 22 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } }, { "type": "ExpressionStatement", "start": 784, "end": 805, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 23, "column": 23 } }, "expression": { "type": "AssignmentExpression", "start": 784, "end": 804, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 23, "column": 22 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 784, "end": 800, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 23, "column": 18 } }, "object": { "type": "Identifier", "start": 784, "end": 790, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 23, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 791, "end": 800, "loc": { "start": { "line": 23, "column": 9 }, "end": { "line": 23, "column": 18 }, "identifierName": "overlap_y" }, "name": "overlap_y" }, "computed": false }, "right": { "type": "NumericLiteral", "start": 803, "end": 804, "loc": { "start": { "line": 23, "column": 21 }, "end": { "line": 23, "column": 22 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 811, "end": 1030, "loc": { "start": { "line": 26, "column": 1 }, "end": { "line": 37, "column": 2 } }, "test": { "type": "Identifier", "start": 814, "end": 823, "loc": { "start": { "line": 26, "column": 4 }, "end": { "line": 26, "column": 13 }, "identifierName": "a_polygon" }, "name": "a_polygon" }, "consequent": { "type": "BlockStatement", "start": 825, "end": 1030, "loc": { "start": { "line": 26, "column": 15 }, "end": { "line": 37, "column": 2 } }, "body": [ { "type": "IfStatement", "start": 829, "end": 1027, "loc": { "start": { "line": 27, "column": 2 }, "end": { "line": 36, "column": 3 } }, "test": { "type": "LogicalExpression", "start": 836, "end": 992, "loc": { "start": { "line": 28, "column": 3 }, "end": { "line": 33, "column": 27 } }, "left": { "type": "LogicalExpression", "start": 836, "end": 961, "loc": { "start": { "line": 28, "column": 3 }, "end": { "line": 32, "column": 27 } }, "left": { "type": "LogicalExpression", "start": 836, "end": 930, "loc": { "start": { "line": 28, "column": 3 }, "end": { "line": 31, "column": 25 } }, "left": { "type": "LogicalExpression", "start": 836, "end": 901, "loc": { "start": { "line": 28, "column": 3 }, "end": { "line": 30, "column": 21 } }, "left": { "type": "LogicalExpression", "start": 836, "end": 876, "loc": { "start": { "line": 28, "column": 3 }, "end": { "line": 29, "column": 21 } }, "left": { "type": "MemberExpression", "start": 836, "end": 851, "loc": { "start": { "line": 28, "column": 3 }, "end": { "line": 28, "column": 18 } }, "object": { "type": "Identifier", "start": 836, "end": 837, "loc": { "start": { "line": 28, "column": 3 }, "end": { "line": 28, "column": 4 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 838, "end": 851, "loc": { "start": { "line": 28, "column": 5 }, "end": { "line": 28, "column": 18 }, "identifierName": "_dirty_coords" }, "name": "_dirty_coords" }, "computed": false }, "operator": "||", "right": { "type": "BinaryExpression", "start": 858, "end": 876, "loc": { "start": { "line": 29, "column": 3 }, "end": { "line": 29, "column": 21 } }, "left": { "type": "MemberExpression", "start": 858, "end": 861, "loc": { "start": { "line": 29, "column": 3 }, "end": { "line": 29, "column": 6 } }, "object": { "type": "Identifier", "start": 858, "end": 859, "loc": { "start": { "line": 29, "column": 3 }, "end": { "line": 29, "column": 4 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 860, "end": 861, "loc": { "start": { "line": 29, "column": 5 }, "end": { "line": 29, "column": 6 }, "identifierName": "x" }, "name": "x" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 872, "end": 876, "loc": { "start": { "line": 29, "column": 17 }, "end": { "line": 29, "column": 21 } }, "object": { "type": "Identifier", "start": 872, "end": 873, "loc": { "start": { "line": 29, "column": 17 }, "end": { "line": 29, "column": 18 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 874, "end": 876, "loc": { "start": { "line": 29, "column": 19 }, "end": { "line": 29, "column": 21 }, "identifierName": "_x" }, "name": "_x" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 883, "end": 901, "loc": { "start": { "line": 30, "column": 3 }, "end": { "line": 30, "column": 21 } }, "left": { "type": "MemberExpression", "start": 883, "end": 886, "loc": { "start": { "line": 30, "column": 3 }, "end": { "line": 30, "column": 6 } }, "object": { "type": "Identifier", "start": 883, "end": 884, "loc": { "start": { "line": 30, "column": 3 }, "end": { "line": 30, "column": 4 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 885, "end": 886, "loc": { "start": { "line": 30, "column": 5 }, "end": { "line": 30, "column": 6 }, "identifierName": "y" }, "name": "y" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 897, "end": 901, "loc": { "start": { "line": 30, "column": 17 }, "end": { "line": 30, "column": 21 } }, "object": { "type": "Identifier", "start": 897, "end": 898, "loc": { "start": { "line": 30, "column": 17 }, "end": { "line": 30, "column": 18 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 899, "end": 901, "loc": { "start": { "line": 30, "column": 19 }, "end": { "line": 30, "column": 21 }, "identifierName": "_y" }, "name": "_y" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 908, "end": 930, "loc": { "start": { "line": 31, "column": 3 }, "end": { "line": 31, "column": 25 } }, "left": { "type": "MemberExpression", "start": 908, "end": 915, "loc": { "start": { "line": 31, "column": 3 }, "end": { "line": 31, "column": 10 } }, "object": { "type": "Identifier", "start": 908, "end": 909, "loc": { "start": { "line": 31, "column": 3 }, "end": { "line": 31, "column": 4 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 910, "end": 915, "loc": { "start": { "line": 31, "column": 5 }, "end": { "line": 31, "column": 10 }, "identifierName": "angle" }, "name": "angle" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 922, "end": 930, "loc": { "start": { "line": 31, "column": 17 }, "end": { "line": 31, "column": 25 } }, "object": { "type": "Identifier", "start": 922, "end": 923, "loc": { "start": { "line": 31, "column": 17 }, "end": { "line": 31, "column": 18 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 924, "end": 930, "loc": { "start": { "line": 31, "column": 19 }, "end": { "line": 31, "column": 25 }, "identifierName": "_angle" }, "name": "_angle" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 937, "end": 961, "loc": { "start": { "line": 32, "column": 3 }, "end": { "line": 32, "column": 27 } }, "left": { "type": "MemberExpression", "start": 937, "end": 946, "loc": { "start": { "line": 32, "column": 3 }, "end": { "line": 32, "column": 12 } }, "object": { "type": "Identifier", "start": 937, "end": 938, "loc": { "start": { "line": 32, "column": 3 }, "end": { "line": 32, "column": 4 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 939, "end": 946, "loc": { "start": { "line": 32, "column": 5 }, "end": { "line": 32, "column": 12 }, "identifierName": "scale_x" }, "name": "scale_x" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 951, "end": 961, "loc": { "start": { "line": 32, "column": 17 }, "end": { "line": 32, "column": 27 } }, "object": { "type": "Identifier", "start": 951, "end": 952, "loc": { "start": { "line": 32, "column": 17 }, "end": { "line": 32, "column": 18 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 953, "end": 961, "loc": { "start": { "line": 32, "column": 19 }, "end": { "line": 32, "column": 27 }, "identifierName": "_scale_x" }, "name": "_scale_x" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 968, "end": 992, "loc": { "start": { "line": 33, "column": 3 }, "end": { "line": 33, "column": 27 } }, "left": { "type": "MemberExpression", "start": 968, "end": 977, "loc": { "start": { "line": 33, "column": 3 }, "end": { "line": 33, "column": 12 } }, "object": { "type": "Identifier", "start": 968, "end": 969, "loc": { "start": { "line": 33, "column": 3 }, "end": { "line": 33, "column": 4 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 970, "end": 977, "loc": { "start": { "line": 33, "column": 5 }, "end": { "line": 33, "column": 12 }, "identifierName": "scale_y" }, "name": "scale_y" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 982, "end": 992, "loc": { "start": { "line": 33, "column": 17 }, "end": { "line": 33, "column": 27 } }, "object": { "type": "Identifier", "start": 982, "end": 983, "loc": { "start": { "line": 33, "column": 17 }, "end": { "line": 33, "column": 18 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 984, "end": 992, "loc": { "start": { "line": 33, "column": 19 }, "end": { "line": 33, "column": 27 }, "identifierName": "_scale_y" }, "name": "_scale_y" }, "computed": false } } }, "consequent": { "type": "BlockStatement", "start": 997, "end": 1027, "loc": { "start": { "line": 34, "column": 4 }, "end": { "line": 36, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 1002, "end": 1023, "loc": { "start": { "line": 35, "column": 3 }, "end": { "line": 35, "column": 24 } }, "expression": { "type": "CallExpression", "start": 1002, "end": 1022, "loc": { "start": { "line": 35, "column": 3 }, "end": { "line": 35, "column": 23 } }, "callee": { "type": "MemberExpression", "start": 1002, "end": 1020, "loc": { "start": { "line": 35, "column": 3 }, "end": { "line": 35, "column": 21 } }, "object": { "type": "Identifier", "start": 1002, "end": 1003, "loc": { "start": { "line": 35, "column": 3 }, "end": { "line": 35, "column": 4 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 1004, "end": 1020, "loc": { "start": { "line": 35, "column": 5 }, "end": { "line": 35, "column": 21 }, "identifierName": "_calculateCoords" }, "name": "_calculateCoords" }, "computed": false }, "arguments": [] } } ], "directives": [] }, "alternate": null } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 1033, "end": 1252, "loc": { "start": { "line": 39, "column": 1 }, "end": { "line": 50, "column": 2 } }, "test": { "type": "Identifier", "start": 1036, "end": 1045, "loc": { "start": { "line": 39, "column": 4 }, "end": { "line": 39, "column": 13 }, "identifierName": "b_polygon" }, "name": "b_polygon" }, "consequent": { "type": "BlockStatement", "start": 1047, "end": 1252, "loc": { "start": { "line": 39, "column": 15 }, "end": { "line": 50, "column": 2 } }, "body": [ { "type": "IfStatement", "start": 1051, "end": 1249, "loc": { "start": { "line": 40, "column": 2 }, "end": { "line": 49, "column": 3 } }, "test": { "type": "LogicalExpression", "start": 1058, "end": 1214, "loc": { "start": { "line": 41, "column": 3 }, "end": { "line": 46, "column": 27 } }, "left": { "type": "LogicalExpression", "start": 1058, "end": 1183, "loc": { "start": { "line": 41, "column": 3 }, "end": { "line": 45, "column": 27 } }, "left": { "type": "LogicalExpression", "start": 1058, "end": 1152, "loc": { "start": { "line": 41, "column": 3 }, "end": { "line": 44, "column": 25 } }, "left": { "type": "LogicalExpression", "start": 1058, "end": 1123, "loc": { "start": { "line": 41, "column": 3 }, "end": { "line": 43, "column": 21 } }, "left": { "type": "LogicalExpression", "start": 1058, "end": 1098, "loc": { "start": { "line": 41, "column": 3 }, "end": { "line": 42, "column": 21 } }, "left": { "type": "MemberExpression", "start": 1058, "end": 1073, "loc": { "start": { "line": 41, "column": 3 }, "end": { "line": 41, "column": 18 } }, "object": { "type": "Identifier", "start": 1058, "end": 1059, "loc": { "start": { "line": 41, "column": 3 }, "end": { "line": 41, "column": 4 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1060, "end": 1073, "loc": { "start": { "line": 41, "column": 5 }, "end": { "line": 41, "column": 18 }, "identifierName": "_dirty_coords" }, "name": "_dirty_coords" }, "computed": false }, "operator": "||", "right": { "type": "BinaryExpression", "start": 1080, "end": 1098, "loc": { "start": { "line": 42, "column": 3 }, "end": { "line": 42, "column": 21 } }, "left": { "type": "MemberExpression", "start": 1080, "end": 1083, "loc": { "start": { "line": 42, "column": 3 }, "end": { "line": 42, "column": 6 } }, "object": { "type": "Identifier", "start": 1080, "end": 1081, "loc": { "start": { "line": 42, "column": 3 }, "end": { "line": 42, "column": 4 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1082, "end": 1083, "loc": { "start": { "line": 42, "column": 5 }, "end": { "line": 42, "column": 6 }, "identifierName": "x" }, "name": "x" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 1094, "end": 1098, "loc": { "start": { "line": 42, "column": 17 }, "end": { "line": 42, "column": 21 } }, "object": { "type": "Identifier", "start": 1094, "end": 1095, "loc": { "start": { "line": 42, "column": 17 }, "end": { "line": 42, "column": 18 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1096, "end": 1098, "loc": { "start": { "line": 42, "column": 19 }, "end": { "line": 42, "column": 21 }, "identifierName": "_x" }, "name": "_x" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 1105, "end": 1123, "loc": { "start": { "line": 43, "column": 3 }, "end": { "line": 43, "column": 21 } }, "left": { "type": "MemberExpression", "start": 1105, "end": 1108, "loc": { "start": { "line": 43, "column": 3 }, "end": { "line": 43, "column": 6 } }, "object": { "type": "Identifier", "start": 1105, "end": 1106, "loc": { "start": { "line": 43, "column": 3 }, "end": { "line": 43, "column": 4 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1107, "end": 1108, "loc": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 6 }, "identifierName": "y" }, "name": "y" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 1119, "end": 1123, "loc": { "start": { "line": 43, "column": 17 }, "end": { "line": 43, "column": 21 } }, "object": { "type": "Identifier", "start": 1119, "end": 1120, "loc": { "start": { "line": 43, "column": 17 }, "end": { "line": 43, "column": 18 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1121, "end": 1123, "loc": { "start": { "line": 43, "column": 19 }, "end": { "line": 43, "column": 21 }, "identifierName": "_y" }, "name": "_y" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 1130, "end": 1152, "loc": { "start": { "line": 44, "column": 3 }, "end": { "line": 44, "column": 25 } }, "left": { "type": "MemberExpression", "start": 1130, "end": 1137, "loc": { "start": { "line": 44, "column": 3 }, "end": { "line": 44, "column": 10 } }, "object": { "type": "Identifier", "start": 1130, "end": 1131, "loc": { "start": { "line": 44, "column": 3 }, "end": { "line": 44, "column": 4 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1132, "end": 1137, "loc": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 10 }, "identifierName": "angle" }, "name": "angle" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 1144, "end": 1152, "loc": { "start": { "line": 44, "column": 17 }, "end": { "line": 44, "column": 25 } }, "object": { "type": "Identifier", "start": 1144, "end": 1145, "loc": { "start": { "line": 44, "column": 17 }, "end": { "line": 44, "column": 18 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1146, "end": 1152, "loc": { "start": { "line": 44, "column": 19 }, "end": { "line": 44, "column": 25 }, "identifierName": "_angle" }, "name": "_angle" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 1159, "end": 1183, "loc": { "start": { "line": 45, "column": 3 }, "end": { "line": 45, "column": 27 } }, "left": { "type": "MemberExpression", "start": 1159, "end": 1168, "loc": { "start": { "line": 45, "column": 3 }, "end": { "line": 45, "column": 12 } }, "object": { "type": "Identifier", "start": 1159, "end": 1160, "loc": { "start": { "line": 45, "column": 3 }, "end": { "line": 45, "column": 4 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1161, "end": 1168, "loc": { "start": { "line": 45, "column": 5 }, "end": { "line": 45, "column": 12 }, "identifierName": "scale_x" }, "name": "scale_x" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 1173, "end": 1183, "loc": { "start": { "line": 45, "column": 17 }, "end": { "line": 45, "column": 27 } }, "object": { "type": "Identifier", "start": 1173, "end": 1174, "loc": { "start": { "line": 45, "column": 17 }, "end": { "line": 45, "column": 18 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1175, "end": 1183, "loc": { "start": { "line": 45, "column": 19 }, "end": { "line": 45, "column": 27 }, "identifierName": "_scale_x" }, "name": "_scale_x" }, "computed": false } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 1190, "end": 1214, "loc": { "start": { "line": 46, "column": 3 }, "end": { "line": 46, "column": 27 } }, "left": { "type": "MemberExpression", "start": 1190, "end": 1199, "loc": { "start": { "line": 46, "column": 3 }, "end": { "line": 46, "column": 12 } }, "object": { "type": "Identifier", "start": 1190, "end": 1191, "loc": { "start": { "line": 46, "column": 3 }, "end": { "line": 46, "column": 4 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1192, "end": 1199, "loc": { "start": { "line": 46, "column": 5 }, "end": { "line": 46, "column": 12 }, "identifierName": "scale_y" }, "name": "scale_y" }, "computed": false }, "operator": "!==", "right": { "type": "MemberExpression", "start": 1204, "end": 1214, "loc": { "start": { "line": 46, "column": 17 }, "end": { "line": 46, "column": 27 } }, "object": { "type": "Identifier", "start": 1204, "end": 1205, "loc": { "start": { "line": 46, "column": 17 }, "end": { "line": 46, "column": 18 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1206, "end": 1214, "loc": { "start": { "line": 46, "column": 19 }, "end": { "line": 46, "column": 27 }, "identifierName": "_scale_y" }, "name": "_scale_y" }, "computed": false } } }, "consequent": { "type": "BlockStatement", "start": 1219, "end": 1249, "loc": { "start": { "line": 47, "column": 4 }, "end": { "line": 49, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 1224, "end": 1245, "loc": { "start": { "line": 48, "column": 3 }, "end": { "line": 48, "column": 24 } }, "expression": { "type": "CallExpression", "start": 1224, "end": 1244, "loc": { "start": { "line": 48, "column": 3 }, "end": { "line": 48, "column": 23 } }, "callee": { "type": "MemberExpression", "start": 1224, "end": 1242, "loc": { "start": { "line": 48, "column": 3 }, "end": { "line": 48, "column": 21 } }, "object": { "type": "Identifier", "start": 1224, "end": 1225, "loc": { "start": { "line": 48, "column": 3 }, "end": { "line": 48, "column": 4 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1226, "end": 1242, "loc": { "start": { "line": 48, "column": 5 }, "end": { "line": 48, "column": 21 }, "identifierName": "_calculateCoords" }, "name": "_calculateCoords" }, "computed": false }, "arguments": [] } } ], "directives": [] }, "alternate": null } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 1255, "end": 1638, "loc": { "start": { "line": 52, "column": 1 }, "end": { "line": 67, "column": 2 } }, "test": { "type": "LogicalExpression", "start": 1258, "end": 1281, "loc": { "start": { "line": 52, "column": 4 }, "end": { "line": 52, "column": 27 } }, "left": { "type": "UnaryExpression", "start": 1258, "end": 1263, "loc": { "start": { "line": 52, "column": 4 }, "end": { "line": 52, "column": 9 } }, "operator": "!", "prefix": true, "argument": { "type": "Identifier", "start": 1259, "end": 1263, "loc": { "start": { "line": 52, "column": 5 }, "end": { "line": 52, "column": 9 }, "identifierName": "aabb" }, "name": "aabb" }, "extra": { "parenthesizedArgument": false } }, "operator": "||", "right": { "type": "CallExpression", "start": 1267, "end": 1281, "loc": { "start": { "line": 52, "column": 13 }, "end": { "line": 52, "column": 27 } }, "callee": { "type": "Identifier", "start": 1267, "end": 1275, "loc": { "start": { "line": 52, "column": 13 }, "end": { "line": 52, "column": 21 }, "identifierName": "aabbAABB" }, "name": "aabbAABB" }, "arguments": [ { "type": "Identifier", "start": 1276, "end": 1277, "loc": { "start": { "line": 52, "column": 22 }, "end": { "line": 52, "column": 23 }, "identifierName": "a" }, "name": "a" }, { "type": "Identifier", "start": 1279, "end": 1280, "loc": { "start": { "line": 52, "column": 25 }, "end": { "line": 52, "column": 26 }, "identifierName": "b" }, "name": "b" } ] } }, "consequent": { "type": "BlockStatement", "start": 1283, "end": 1638, "loc": { "start": { "line": 52, "column": 29 }, "end": { "line": 67, "column": 2 } }, "body": [ { "type": "IfStatement", "start": 1287, "end": 1352, "loc": { "start": { "line": 53, "column": 2 }, "end": { "line": 55, "column": 3 } }, "test": { "type": "LogicalExpression", "start": 1290, "end": 1319, "loc": { "start": { "line": 53, "column": 5 }, "end": { "line": 53, "column": 34 } }, "left": { "type": "Identifier", "start": 1290, "end": 1299, "loc": { "start": { "line": 53, "column": 5 }, "end": { "line": 53, "column": 14 }, "identifierName": "a_polygon" }, "name": "a_polygon" }, "operator": "&&", "right": { "type": "MemberExpression", "start": 1303, "end": 1319, "loc": { "start": { "line": 53, "column": 18 }, "end": { "line": 53, "column": 34 } }, "object": { "type": "Identifier", "start": 1303, "end": 1304, "loc": { "start": { "line": 53, "column": 18 }, "end": { "line": 53, "column": 19 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 1305, "end": 1319, "loc": { "start": { "line": 53, "column": 20 }, "end": { "line": 53, "column": 34 }, "identifierName": "_dirty_normals" }, "name": "_dirty_normals" }, "computed": false } }, "consequent": { "type": "BlockStatement", "start": 1321, "end": 1352, "loc": { "start": { "line": 53, "column": 36 }, "end": { "line": 55, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 1326, "end": 1348, "loc": { "start": { "line": 54, "column": 3 }, "end": { "line": 54, "column": 25 } }, "expression": { "type": "CallExpression", "start": 1326, "end": 1347, "loc": { "start": { "line": 54, "column": 3 }, "end": { "line": 54, "column": 24 } }, "callee": { "type": "MemberExpression", "start": 1326, "end": 1345, "loc": { "start": { "line": 54, "column": 3 }, "end": { "line": 54, "column": 22 } }, "object": { "type": "Identifier", "start": 1326, "end": 1327, "loc": { "start": { "line": 54, "column": 3 }, "end": { "line": 54, "column": 4 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 1328, "end": 1345, "loc": { "start": { "line": 54, "column": 5 }, "end": { "line": 54, "column": 22 }, "identifierName": "_calculateNormals" }, "name": "_calculateNormals" }, "computed": false }, "arguments": [] } } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 1356, "end": 1421, "loc": { "start": { "line": 57, "column": 2 }, "end": { "line": 59, "column": 3 } }, "test": { "type": "LogicalExpression", "start": 1359, "end": 1388, "loc": { "start": { "line": 57, "column": 5 }, "end": { "line": 57, "column": 34 } }, "left": { "type": "Identifier", "start": 1359, "end": 1368, "loc": { "start": { "line": 57, "column": 5 }, "end": { "line": 57, "column": 14 }, "identifierName": "b_polygon" }, "name": "b_polygon" }, "operator": "&&", "right": { "type": "MemberExpression", "start": 1372, "end": 1388, "loc": { "start": { "line": 57, "column": 18 }, "end": { "line": 57, "column": 34 } }, "object": { "type": "Identifier", "start": 1372, "end": 1373, "loc": { "start": { "line": 57, "column": 18 }, "end": { "line": 57, "column": 19 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1374, "end": 1388, "loc": { "start": { "line": 57, "column": 20 }, "end": { "line": 57, "column": 34 }, "identifierName": "_dirty_normals" }, "name": "_dirty_normals" }, "computed": false } }, "consequent": { "type": "BlockStatement", "start": 1390, "end": 1421, "loc": { "start": { "line": 57, "column": 36 }, "end": { "line": 59, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 1395, "end": 1417, "loc": { "start": { "line": 58, "column": 3 }, "end": { "line": 58, "column": 25 } }, "expression": { "type": "CallExpression", "start": 1395, "end": 1416, "loc": { "start": { "line": 58, "column": 3 }, "end": { "line": 58, "column": 24 } }, "callee": { "type": "MemberExpression", "start": 1395, "end": 1414, "loc": { "start": { "line": 58, "column": 3 }, "end": { "line": 58, "column": 22 } }, "object": { "type": "Identifier", "start": 1395, "end": 1396, "loc": { "start": { "line": 58, "column": 3 }, "end": { "line": 58, "column": 4 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1397, "end": 1414, "loc": { "start": { "line": 58, "column": 5 }, "end": { "line": 58, "column": 22 }, "identifierName": "_calculateNormals" }, "name": "_calculateNormals" }, "computed": false }, "arguments": [] } } ], "directives": [] }, "alternate": null }, { "type": "ExpressionStatement", "start": 1425, "end": 1635, "loc": { "start": { "line": 61, "column": 2 }, "end": { "line": 66, "column": 4 } }, "expression": { "type": "AssignmentExpression", "start": 1425, "end": 1634, "loc": { "start": { "line": 61, "column": 2 }, "end": { "line": 66, "column": 3 } }, "operator": "=", "left": { "type": "Identifier", "start": 1425, "end": 1434, "loc": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": 11 }, "identifierName": "collision" }, "name": "collision" }, "right": { "type": "ConditionalExpression", "start": 1442, "end": 1630, "loc": { "start": { "line": 62, "column": 3 }, "end": { "line": 65, "column": 29 } }, "test": { "type": "LogicalExpression", "start": 1442, "end": 1464, "loc": { "start": { "line": 62, "column": 3 }, "end": { "line": 62, "column": 25 } }, "left": { "type": "Identifier", "start": 1442, "end": 1451, "loc": { "start": { "line": 62, "column": 3 }, "end": { "line": 62, "column": 12 }, "identifierName": "a_polygon" }, "name": "a_polygon" }, "operator": "&&", "right": { "type": "Identifier", "start": 1455, "end": 1464, "loc": { "start": { "line": 62, "column": 16 }, "end": { "line": 62, "column": 25 }, "identifierName": "b_polygon" }, "name": "b_polygon" } }, "consequent": { "type": "CallExpression", "start": 1467, "end": 1495, "loc": { "start": { "line": 62, "column": 28 }, "end": { "line": 62, "column": 56 } }, "callee": { "type": "Identifier", "start": 1467, "end": 1481, "loc": { "start": { "line": 62, "column": 28 }, "end": { "line": 62, "column": 42 }, "identifierName": "polygonPolygon" }, "name": "polygonPolygon" }, "arguments": [ { "type": "Identifier", "start": 1482, "end": 1483, "loc": { "start": { "line": 62, "column": 43 }, "end": { "line": 62, "column": 44 }, "identifierName": "a" }, "name": "a" }, { "type": "Identifier", "start": 1485, "end": 1486, "loc": { "start": { "line": 62, "column": 46 }, "end": { "line": 62, "column": 47 }, "identifierName": "b" }, "name": "b" }, { "type": "Identifier", "start": 1488, "end": 1494, "loc": { "start": { "line": 62, "column": 49 }, "end": { "line": 62, "column": 55 }, "identifierName": "result" }, "name": "result" } ] }, "alternate": { "type": "ConditionalExpression", "start": 1501, "end": 1630, "loc": { "start": { "line": 63, "column": 3 }, "end": { "line": 65, "column": 29 } }, "test": { "type": "Identifier", "start": 1501, "end": 1510, "loc": { "start": { "line": 63, "column": 3 }, "end": { "line": 63, "column": 12 }, "identifierName": "a_polygon" }, "name": "a_polygon" }, "consequent": { "type": "CallExpression", "start": 1513, "end": 1547, "loc": { "start": { "line": 63, "column": 15 }, "end": { "line": 63, "column": 49 } }, "callee": { "type": "Identifier", "start": 1513, "end": 1526, "loc": { "start": { "line": 63, "column": 15 }, "end": { "line": 63, "column": 28 }, "identifierName": "polygonCircle" }, "name": "polygonCircle" }, "arguments": [ { "type": "Identifier", "start": 1527, "end": 1528, "loc": { "start": { "line": 63, "column": 29 }, "end": { "line": 63, "column": 30 }, "identifierName": "a" }, "name": "a" }, { "type": "Identifier", "start": 1530, "end": 1531, "loc": { "start": { "line": 63, "column": 32 }, "end": { "line": 63, "column": 33 }, "identifierName": "b" }, "name": "b" }, { "type": "Identifier", "start": 1533, "end": 1539, "loc": { "start": { "line": 63, "column": 35 }, "end": { "line": 63, "column": 41 }, "identifierName": "result" }, "name": "result" }, { "type": "BooleanLiteral", "start": 1541, "end": 1546, "loc": { "start": { "line": 63, "column": 43 }, "end": { "line": 63, "column": 48 } }, "value": false } ] }, "alternate": { "type": "ConditionalExpression", "start": 1553, "end": 1630, "loc": { "start": { "line": 64, "column": 3 }, "end": { "line": 65, "column": 29 } }, "test": { "type": "Identifier", "start": 1553, "end": 1562, "loc": { "start": { "line": 64, "column": 3 }, "end": { "line": 64, "column": 12 }, "identifierName": "b_polygon" }, "name": "b_polygon" }, "consequent": { "type": "CallExpression", "start": 1565, "end": 1598, "loc": { "start": { "line": 64, "column": 15 }, "end": { "line": 64, "column": 48 } }, "callee": { "type": "Identifier", "start": 1565, "end": 1578, "loc": { "start": { "line": 64, "column": 15 }, "end": { "line": 64, "column": 28 }, "identifierName": "polygonCircle" }, "name": "polygonCircle" }, "arguments": [ { "type": "Identifier", "start": 1579, "end": 1580, "loc": { "start": { "line": 64, "column": 29 }, "end": { "line": 64, "column": 30 }, "identifierName": "b" }, "name": "b" }, { "type": "Identifier", "start": 1582, "end": 1583, "loc": { "start": { "line": 64, "column": 32 }, "end": { "line": 64, "column": 33 }, "identifierName": "a" }, "name": "a" }, { "type": "Identifier", "start": 1585, "end": 1591, "loc": { "start": { "line": 64, "column": 35 }, "end": { "line": 64, "column": 41 }, "identifierName": "result" }, "name": "result" }, { "type": "BooleanLiteral", "start": 1593, "end": 1597, "loc": { "start": { "line": 64, "column": 43 }, "end": { "line": 64, "column": 47 } }, "value": true } ] }, "alternate": { "type": "CallExpression", "start": 1604, "end": 1630, "loc": { "start": { "line": 65, "column": 3 }, "end": { "line": 65, "column": 29 } }, "callee": { "type": "Identifier", "start": 1604, "end": 1616, "loc": { "start": { "line": 65, "column": 3 }, "end": { "line": 65, "column": 15 }, "identifierName": "circleCircle" }, "name": "circleCircle" }, "arguments": [ { "type": "Identifier", "start": 1617, "end": 1618, "loc": { "start": { "line": 65, "column": 16 }, "end": { "line": 65, "column": 17 }, "identifierName": "a" }, "name": "a" }, { "type": "Identifier", "start": 1620, "end": 1621, "loc": { "start": { "line": 65, "column": 19 }, "end": { "line": 65, "column": 20 }, "identifierName": "b" }, "name": "b" }, { "type": "Identifier", "start": 1623, "end": 1629, "loc": { "start": { "line": 65, "column": 22 }, "end": { "line": 65, "column": 28 }, "identifierName": "result" }, "name": "result" } ] } } }, "extra": { "parenthesized": true, "parenStart": 1437 } } } } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 1641, "end": 1688, "loc": { "start": { "line": 69, "column": 1 }, "end": { "line": 71, "column": 2 } }, "test": { "type": "Identifier", "start": 1644, "end": 1650, "loc": { "start": { "line": 69, "column": 4 }, "end": { "line": 69, "column": 10 }, "identifierName": "result" }, "name": "result" }, "consequent": { "type": "BlockStatement", "start": 1652, "end": 1688, "loc": { "start": { "line": 69, "column": 12 }, "end": { "line": 71, "column": 2 } }, "body": [ { "type": "ExpressionStatement", "start": 1656, "end": 1685, "loc": { "start": { "line": 70, "column": 2 }, "end": { "line": 70, "column": 31 } }, "expression": { "type": "AssignmentExpression", "start": 1656, "end": 1684, "loc": { "start": { "line": 70, "column": 2 }, "end": { "line": 70, "column": 30 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1656, "end": 1672, "loc": { "start": { "line": 70, "column": 2 }, "end": { "line": 70, "column": 18 } }, "object": { "type": "Identifier", "start": 1656, "end": 1662, "loc": { "start": { "line": 70, "column": 2 }, "end": { "line": 70, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 1663, "end": 1672, "loc": { "start": { "line": 70, "column": 9 }, "end": { "line": 70, "column": 18 }, "identifierName": "collision" }, "name": "collision" }, "computed": false }, "right": { "type": "Identifier", "start": 1675, "end": 1684, "loc": { "start": { "line": 70, "column": 21 }, "end": { "line": 70, "column": 30 }, "identifierName": "collision" }, "name": "collision" } } } ], "directives": [] }, "alternate": null }, { "type": "ReturnStatement", "start": 1691, "end": 1708, "loc": { "start": { "line": 73, "column": 1 }, "end": { "line": 73, "column": 18 } }, "argument": { "type": "Identifier", "start": 1698, "end": 1707, "loc": { "start": { "line": 73, "column": 8 }, "end": { "line": 73, "column": 17 }, "identifierName": "collision" }, "name": "collision" } } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * Determines if two bodies are colliding using the Separating Axis Theorem\n * @private\n * @param {Circle|Polygon|Point} a The source body to test\n * @param {Circle|Polygon|Point} b The target body to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own collision heuristic)\n * @returns {Boolean}\n ", "start": 0, "end": 462, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 9, "column": 3 } } } ], "trailingComments": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * Determines if two bodies are colliding using the Separating Axis Theorem\n * @private\n * @param {Circle|Polygon|Point} a The source body to test\n * @param {Circle|Polygon|Point} b The target body to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own collision heuristic)\n * @returns {Boolean}\n ", "start": 0, "end": 462, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 9, "column": 3 } } } ] }, { "type": "EmptyStatement", "start": 1710, "end": 1711, "loc": { "start": { "line": 74, "column": 1 }, "end": { "line": 74, "column": 2 } }, "leadingComments": null, "trailingComments": [ { "type": "CommentBlock", "value": "*\n * Determines if two bodies' axis aligned bounding boxes are colliding\n * @param {Circle|Polygon|Point} a The source body to test\n * @param {Circle|Polygon|Point} b The target body to test against\n ", "start": 1713, "end": 1917, "loc": { "start": { "line": 76, "column": 0 }, "end": { "line": 80, "column": 3 } } } ] }, { "type": "FunctionDeclaration", "start": 1918, "end": 2833, "loc": { "start": { "line": 81, "column": 0 }, "end": { "line": 101, "column": 1 } }, "id": { "type": "Identifier", "start": 1927, "end": 1935, "loc": { "start": { "line": 81, "column": 9 }, "end": { "line": 81, "column": 17 }, "identifierName": "aabbAABB" }, "name": "aabbAABB", "leadingComments": null }, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 1936, "end": 1937, "loc": { "start": { "line": 81, "column": 18 }, "end": { "line": 81, "column": 19 }, "identifierName": "a" }, "name": "a" }, { "type": "Identifier", "start": 1939, "end": 1940, "loc": { "start": { "line": 81, "column": 21 }, "end": { "line": 81, "column": 22 }, "identifierName": "b" }, "name": "b" } ], "body": { "type": "BlockStatement", "start": 1942, "end": 2833, "loc": { "start": { "line": 81, "column": 24 }, "end": { "line": 101, "column": 1 } }, "body": [ { "type": "VariableDeclaration", "start": 1945, "end": 1974, "loc": { "start": { "line": 82, "column": 1 }, "end": { "line": 82, "column": 30 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1951, "end": 1973, "loc": { "start": { "line": 82, "column": 7 }, "end": { "line": 82, "column": 29 } }, "id": { "type": "Identifier", "start": 1951, "end": 1960, "loc": { "start": { "line": 82, "column": 7 }, "end": { "line": 82, "column": 16 }, "identifierName": "a_polygon" }, "name": "a_polygon" }, "init": { "type": "MemberExpression", "start": 1963, "end": 1973, "loc": { "start": { "line": 82, "column": 19 }, "end": { "line": 82, "column": 29 } }, "object": { "type": "Identifier", "start": 1963, "end": 1964, "loc": { "start": { "line": 82, "column": 19 }, "end": { "line": 82, "column": 20 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 1965, "end": 1973, "loc": { "start": { "line": 82, "column": 21 }, "end": { "line": 82, "column": 29 }, "identifierName": "_polygon" }, "name": "_polygon" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 1976, "end": 2014, "loc": { "start": { "line": 83, "column": 1 }, "end": { "line": 83, "column": 39 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1982, "end": 2013, "loc": { "start": { "line": 83, "column": 7 }, "end": { "line": 83, "column": 38 } }, "id": { "type": "Identifier", "start": 1982, "end": 1985, "loc": { "start": { "line": 83, "column": 7 }, "end": { "line": 83, "column": 10 }, "identifierName": "a_x" }, "name": "a_x" }, "init": { "type": "ConditionalExpression", "start": 1994, "end": 2013, "loc": { "start": { "line": 83, "column": 19 }, "end": { "line": 83, "column": 38 } }, "test": { "type": "Identifier", "start": 1994, "end": 2003, "loc": { "start": { "line": 83, "column": 19 }, "end": { "line": 83, "column": 28 }, "identifierName": "a_polygon" }, "name": "a_polygon" }, "consequent": { "type": "NumericLiteral", "start": 2006, "end": 2007, "loc": { "start": { "line": 83, "column": 31 }, "end": { "line": 83, "column": 32 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "alternate": { "type": "MemberExpression", "start": 2010, "end": 2013, "loc": { "start": { "line": 83, "column": 35 }, "end": { "line": 83, "column": 38 } }, "object": { "type": "Identifier", "start": 2010, "end": 2011, "loc": { "start": { "line": 83, "column": 35 }, "end": { "line": 83, "column": 36 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 2012, "end": 2013, "loc": { "start": { "line": 83, "column": 37 }, "end": { "line": 83, "column": 38 }, "identifierName": "x" }, "name": "x" }, "computed": false } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2016, "end": 2054, "loc": { "start": { "line": 84, "column": 1 }, "end": { "line": 84, "column": 39 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2022, "end": 2053, "loc": { "start": { "line": 84, "column": 7 }, "end": { "line": 84, "column": 38 } }, "id": { "type": "Identifier", "start": 2022, "end": 2025, "loc": { "start": { "line": 84, "column": 7 }, "end": { "line": 84, "column": 10 }, "identifierName": "a_y" }, "name": "a_y" }, "init": { "type": "ConditionalExpression", "start": 2034, "end": 2053, "loc": { "start": { "line": 84, "column": 19 }, "end": { "line": 84, "column": 38 } }, "test": { "type": "Identifier", "start": 2034, "end": 2043, "loc": { "start": { "line": 84, "column": 19 }, "end": { "line": 84, "column": 28 }, "identifierName": "a_polygon" }, "name": "a_polygon" }, "consequent": { "type": "NumericLiteral", "start": 2046, "end": 2047, "loc": { "start": { "line": 84, "column": 31 }, "end": { "line": 84, "column": 32 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "alternate": { "type": "MemberExpression", "start": 2050, "end": 2053, "loc": { "start": { "line": 84, "column": 35 }, "end": { "line": 84, "column": 38 } }, "object": { "type": "Identifier", "start": 2050, "end": 2051, "loc": { "start": { "line": 84, "column": 35 }, "end": { "line": 84, "column": 36 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 2052, "end": 2053, "loc": { "start": { "line": 84, "column": 37 }, "end": { "line": 84, "column": 38 }, "identifierName": "y" }, "name": "y" }, "computed": false } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2056, "end": 2109, "loc": { "start": { "line": 85, "column": 1 }, "end": { "line": 85, "column": 54 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2062, "end": 2108, "loc": { "start": { "line": 85, "column": 7 }, "end": { "line": 85, "column": 53 } }, "id": { "type": "Identifier", "start": 2062, "end": 2070, "loc": { "start": { "line": 85, "column": 7 }, "end": { "line": 85, "column": 15 }, "identifierName": "a_radius" }, "name": "a_radius" }, "init": { "type": "ConditionalExpression", "start": 2074, "end": 2108, "loc": { "start": { "line": 85, "column": 19 }, "end": { "line": 85, "column": 53 } }, "test": { "type": "Identifier", "start": 2074, "end": 2083, "loc": { "start": { "line": 85, "column": 19 }, "end": { "line": 85, "column": 28 }, "identifierName": "a_polygon" }, "name": "a_polygon" }, "consequent": { "type": "NumericLiteral", "start": 2086, "end": 2087, "loc": { "start": { "line": 85, "column": 31 }, "end": { "line": 85, "column": 32 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "alternate": { "type": "BinaryExpression", "start": 2090, "end": 2108, "loc": { "start": { "line": 85, "column": 35 }, "end": { "line": 85, "column": 53 } }, "left": { "type": "MemberExpression", "start": 2090, "end": 2098, "loc": { "start": { "line": 85, "column": 35 }, "end": { "line": 85, "column": 43 } }, "object": { "type": "Identifier", "start": 2090, "end": 2091, "loc": { "start": { "line": 85, "column": 35 }, "end": { "line": 85, "column": 36 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 2092, "end": 2098, "loc": { "start": { "line": 85, "column": 37 }, "end": { "line": 85, "column": 43 }, "identifierName": "radius" }, "name": "radius" }, "computed": false }, "operator": "*", "right": { "type": "MemberExpression", "start": 2101, "end": 2108, "loc": { "start": { "line": 85, "column": 46 }, "end": { "line": 85, "column": 53 } }, "object": { "type": "Identifier", "start": 2101, "end": 2102, "loc": { "start": { "line": 85, "column": 46 }, "end": { "line": 85, "column": 47 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 2103, "end": 2108, "loc": { "start": { "line": 85, "column": 48 }, "end": { "line": 85, "column": 53 }, "identifierName": "scale" }, "name": "scale" }, "computed": false } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2111, "end": 2167, "loc": { "start": { "line": 86, "column": 1 }, "end": { "line": 86, "column": 57 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2117, "end": 2166, "loc": { "start": { "line": 86, "column": 7 }, "end": { "line": 86, "column": 56 } }, "id": { "type": "Identifier", "start": 2117, "end": 2124, "loc": { "start": { "line": 86, "column": 7 }, "end": { "line": 86, "column": 14 }, "identifierName": "a_min_x" }, "name": "a_min_x" }, "init": { "type": "ConditionalExpression", "start": 2129, "end": 2166, "loc": { "start": { "line": 86, "column": 19 }, "end": { "line": 86, "column": 56 } }, "test": { "type": "Identifier", "start": 2129, "end": 2138, "loc": { "start": { "line": 86, "column": 19 }, "end": { "line": 86, "column": 28 }, "identifierName": "a_polygon" }, "name": "a_polygon" }, "consequent": { "type": "MemberExpression", "start": 2141, "end": 2149, "loc": { "start": { "line": 86, "column": 31 }, "end": { "line": 86, "column": 39 } }, "object": { "type": "Identifier", "start": 2141, "end": 2142, "loc": { "start": { "line": 86, "column": 31 }, "end": { "line": 86, "column": 32 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 2143, "end": 2149, "loc": { "start": { "line": 86, "column": 33 }, "end": { "line": 86, "column": 39 }, "identifierName": "_min_x" }, "name": "_min_x" }, "computed": false }, "alternate": { "type": "BinaryExpression", "start": 2152, "end": 2166, "loc": { "start": { "line": 86, "column": 42 }, "end": { "line": 86, "column": 56 } }, "left": { "type": "Identifier", "start": 2152, "end": 2155, "loc": { "start": { "line": 86, "column": 42 }, "end": { "line": 86, "column": 45 }, "identifierName": "a_x" }, "name": "a_x" }, "operator": "-", "right": { "type": "Identifier", "start": 2158, "end": 2166, "loc": { "start": { "line": 86, "column": 48 }, "end": { "line": 86, "column": 56 }, "identifierName": "a_radius" }, "name": "a_radius" } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2169, "end": 2225, "loc": { "start": { "line": 87, "column": 1 }, "end": { "line": 87, "column": 57 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2175, "end": 2224, "loc": { "start": { "line": 87, "column": 7 }, "end": { "line": 87, "column": 56 } }, "id": { "type": "Identifier", "start": 2175, "end": 2182, "loc": { "start": { "line": 87, "column": 7 }, "end": { "line": 87, "column": 14 }, "identifierName": "a_min_y" }, "name": "a_min_y" }, "init": { "type": "ConditionalExpression", "start": 2187, "end": 2224, "loc": { "start": { "line": 87, "column": 19 }, "end": { "line": 87, "column": 56 } }, "test": { "type": "Identifier", "start": 2187, "end": 2196, "loc": { "start": { "line": 87, "column": 19 }, "end": { "line": 87, "column": 28 }, "identifierName": "a_polygon" }, "name": "a_polygon" }, "consequent": { "type": "MemberExpression", "start": 2199, "end": 2207, "loc": { "start": { "line": 87, "column": 31 }, "end": { "line": 87, "column": 39 } }, "object": { "type": "Identifier", "start": 2199, "end": 2200, "loc": { "start": { "line": 87, "column": 31 }, "end": { "line": 87, "column": 32 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 2201, "end": 2207, "loc": { "start": { "line": 87, "column": 33 }, "end": { "line": 87, "column": 39 }, "identifierName": "_min_y" }, "name": "_min_y" }, "computed": false }, "alternate": { "type": "BinaryExpression", "start": 2210, "end": 2224, "loc": { "start": { "line": 87, "column": 42 }, "end": { "line": 87, "column": 56 } }, "left": { "type": "Identifier", "start": 2210, "end": 2213, "loc": { "start": { "line": 87, "column": 42 }, "end": { "line": 87, "column": 45 }, "identifierName": "a_y" }, "name": "a_y" }, "operator": "-", "right": { "type": "Identifier", "start": 2216, "end": 2224, "loc": { "start": { "line": 87, "column": 48 }, "end": { "line": 87, "column": 56 }, "identifierName": "a_radius" }, "name": "a_radius" } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2227, "end": 2283, "loc": { "start": { "line": 88, "column": 1 }, "end": { "line": 88, "column": 57 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2233, "end": 2282, "loc": { "start": { "line": 88, "column": 7 }, "end": { "line": 88, "column": 56 } }, "id": { "type": "Identifier", "start": 2233, "end": 2240, "loc": { "start": { "line": 88, "column": 7 }, "end": { "line": 88, "column": 14 }, "identifierName": "a_max_x" }, "name": "a_max_x" }, "init": { "type": "ConditionalExpression", "start": 2245, "end": 2282, "loc": { "start": { "line": 88, "column": 19 }, "end": { "line": 88, "column": 56 } }, "test": { "type": "Identifier", "start": 2245, "end": 2254, "loc": { "start": { "line": 88, "column": 19 }, "end": { "line": 88, "column": 28 }, "identifierName": "a_polygon" }, "name": "a_polygon" }, "consequent": { "type": "MemberExpression", "start": 2257, "end": 2265, "loc": { "start": { "line": 88, "column": 31 }, "end": { "line": 88, "column": 39 } }, "object": { "type": "Identifier", "start": 2257, "end": 2258, "loc": { "start": { "line": 88, "column": 31 }, "end": { "line": 88, "column": 32 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 2259, "end": 2265, "loc": { "start": { "line": 88, "column": 33 }, "end": { "line": 88, "column": 39 }, "identifierName": "_max_x" }, "name": "_max_x" }, "computed": false }, "alternate": { "type": "BinaryExpression", "start": 2268, "end": 2282, "loc": { "start": { "line": 88, "column": 42 }, "end": { "line": 88, "column": 56 } }, "left": { "type": "Identifier", "start": 2268, "end": 2271, "loc": { "start": { "line": 88, "column": 42 }, "end": { "line": 88, "column": 45 }, "identifierName": "a_x" }, "name": "a_x" }, "operator": "+", "right": { "type": "Identifier", "start": 2274, "end": 2282, "loc": { "start": { "line": 88, "column": 48 }, "end": { "line": 88, "column": 56 }, "identifierName": "a_radius" }, "name": "a_radius" } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2285, "end": 2341, "loc": { "start": { "line": 89, "column": 1 }, "end": { "line": 89, "column": 57 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2291, "end": 2340, "loc": { "start": { "line": 89, "column": 7 }, "end": { "line": 89, "column": 56 } }, "id": { "type": "Identifier", "start": 2291, "end": 2298, "loc": { "start": { "line": 89, "column": 7 }, "end": { "line": 89, "column": 14 }, "identifierName": "a_max_y" }, "name": "a_max_y" }, "init": { "type": "ConditionalExpression", "start": 2303, "end": 2340, "loc": { "start": { "line": 89, "column": 19 }, "end": { "line": 89, "column": 56 } }, "test": { "type": "Identifier", "start": 2303, "end": 2312, "loc": { "start": { "line": 89, "column": 19 }, "end": { "line": 89, "column": 28 }, "identifierName": "a_polygon" }, "name": "a_polygon" }, "consequent": { "type": "MemberExpression", "start": 2315, "end": 2323, "loc": { "start": { "line": 89, "column": 31 }, "end": { "line": 89, "column": 39 } }, "object": { "type": "Identifier", "start": 2315, "end": 2316, "loc": { "start": { "line": 89, "column": 31 }, "end": { "line": 89, "column": 32 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 2317, "end": 2323, "loc": { "start": { "line": 89, "column": 33 }, "end": { "line": 89, "column": 39 }, "identifierName": "_max_y" }, "name": "_max_y" }, "computed": false }, "alternate": { "type": "BinaryExpression", "start": 2326, "end": 2340, "loc": { "start": { "line": 89, "column": 42 }, "end": { "line": 89, "column": 56 } }, "left": { "type": "Identifier", "start": 2326, "end": 2329, "loc": { "start": { "line": 89, "column": 42 }, "end": { "line": 89, "column": 45 }, "identifierName": "a_y" }, "name": "a_y" }, "operator": "+", "right": { "type": "Identifier", "start": 2332, "end": 2340, "loc": { "start": { "line": 89, "column": 48 }, "end": { "line": 89, "column": 56 }, "identifierName": "a_radius" }, "name": "a_radius" } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2344, "end": 2373, "loc": { "start": { "line": 91, "column": 1 }, "end": { "line": 91, "column": 30 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2350, "end": 2372, "loc": { "start": { "line": 91, "column": 7 }, "end": { "line": 91, "column": 29 } }, "id": { "type": "Identifier", "start": 2350, "end": 2359, "loc": { "start": { "line": 91, "column": 7 }, "end": { "line": 91, "column": 16 }, "identifierName": "b_polygon" }, "name": "b_polygon" }, "init": { "type": "MemberExpression", "start": 2362, "end": 2372, "loc": { "start": { "line": 91, "column": 19 }, "end": { "line": 91, "column": 29 } }, "object": { "type": "Identifier", "start": 2362, "end": 2363, "loc": { "start": { "line": 91, "column": 19 }, "end": { "line": 91, "column": 20 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 2364, "end": 2372, "loc": { "start": { "line": 91, "column": 21 }, "end": { "line": 91, "column": 29 }, "identifierName": "_polygon" }, "name": "_polygon" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2375, "end": 2413, "loc": { "start": { "line": 92, "column": 1 }, "end": { "line": 92, "column": 39 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2381, "end": 2412, "loc": { "start": { "line": 92, "column": 7 }, "end": { "line": 92, "column": 38 } }, "id": { "type": "Identifier", "start": 2381, "end": 2384, "loc": { "start": { "line": 92, "column": 7 }, "end": { "line": 92, "column": 10 }, "identifierName": "b_x" }, "name": "b_x" }, "init": { "type": "ConditionalExpression", "start": 2393, "end": 2412, "loc": { "start": { "line": 92, "column": 19 }, "end": { "line": 92, "column": 38 } }, "test": { "type": "Identifier", "start": 2393, "end": 2402, "loc": { "start": { "line": 92, "column": 19 }, "end": { "line": 92, "column": 28 }, "identifierName": "b_polygon" }, "name": "b_polygon" }, "consequent": { "type": "NumericLiteral", "start": 2405, "end": 2406, "loc": { "start": { "line": 92, "column": 31 }, "end": { "line": 92, "column": 32 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "alternate": { "type": "MemberExpression", "start": 2409, "end": 2412, "loc": { "start": { "line": 92, "column": 35 }, "end": { "line": 92, "column": 38 } }, "object": { "type": "Identifier", "start": 2409, "end": 2410, "loc": { "start": { "line": 92, "column": 35 }, "end": { "line": 92, "column": 36 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 2411, "end": 2412, "loc": { "start": { "line": 92, "column": 37 }, "end": { "line": 92, "column": 38 }, "identifierName": "x" }, "name": "x" }, "computed": false } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2415, "end": 2453, "loc": { "start": { "line": 93, "column": 1 }, "end": { "line": 93, "column": 39 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2421, "end": 2452, "loc": { "start": { "line": 93, "column": 7 }, "end": { "line": 93, "column": 38 } }, "id": { "type": "Identifier", "start": 2421, "end": 2424, "loc": { "start": { "line": 93, "column": 7 }, "end": { "line": 93, "column": 10 }, "identifierName": "b_y" }, "name": "b_y" }, "init": { "type": "ConditionalExpression", "start": 2433, "end": 2452, "loc": { "start": { "line": 93, "column": 19 }, "end": { "line": 93, "column": 38 } }, "test": { "type": "Identifier", "start": 2433, "end": 2442, "loc": { "start": { "line": 93, "column": 19 }, "end": { "line": 93, "column": 28 }, "identifierName": "b_polygon" }, "name": "b_polygon" }, "consequent": { "type": "NumericLiteral", "start": 2445, "end": 2446, "loc": { "start": { "line": 93, "column": 31 }, "end": { "line": 93, "column": 32 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "alternate": { "type": "MemberExpression", "start": 2449, "end": 2452, "loc": { "start": { "line": 93, "column": 35 }, "end": { "line": 93, "column": 38 } }, "object": { "type": "Identifier", "start": 2449, "end": 2450, "loc": { "start": { "line": 93, "column": 35 }, "end": { "line": 93, "column": 36 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 2451, "end": 2452, "loc": { "start": { "line": 93, "column": 37 }, "end": { "line": 93, "column": 38 }, "identifierName": "y" }, "name": "y" }, "computed": false } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2455, "end": 2508, "loc": { "start": { "line": 94, "column": 1 }, "end": { "line": 94, "column": 54 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2461, "end": 2507, "loc": { "start": { "line": 94, "column": 7 }, "end": { "line": 94, "column": 53 } }, "id": { "type": "Identifier", "start": 2461, "end": 2469, "loc": { "start": { "line": 94, "column": 7 }, "end": { "line": 94, "column": 15 }, "identifierName": "b_radius" }, "name": "b_radius" }, "init": { "type": "ConditionalExpression", "start": 2473, "end": 2507, "loc": { "start": { "line": 94, "column": 19 }, "end": { "line": 94, "column": 53 } }, "test": { "type": "Identifier", "start": 2473, "end": 2482, "loc": { "start": { "line": 94, "column": 19 }, "end": { "line": 94, "column": 28 }, "identifierName": "b_polygon" }, "name": "b_polygon" }, "consequent": { "type": "NumericLiteral", "start": 2485, "end": 2486, "loc": { "start": { "line": 94, "column": 31 }, "end": { "line": 94, "column": 32 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "alternate": { "type": "BinaryExpression", "start": 2489, "end": 2507, "loc": { "start": { "line": 94, "column": 35 }, "end": { "line": 94, "column": 53 } }, "left": { "type": "MemberExpression", "start": 2489, "end": 2497, "loc": { "start": { "line": 94, "column": 35 }, "end": { "line": 94, "column": 43 } }, "object": { "type": "Identifier", "start": 2489, "end": 2490, "loc": { "start": { "line": 94, "column": 35 }, "end": { "line": 94, "column": 36 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 2491, "end": 2497, "loc": { "start": { "line": 94, "column": 37 }, "end": { "line": 94, "column": 43 }, "identifierName": "radius" }, "name": "radius" }, "computed": false }, "operator": "*", "right": { "type": "MemberExpression", "start": 2500, "end": 2507, "loc": { "start": { "line": 94, "column": 46 }, "end": { "line": 94, "column": 53 } }, "object": { "type": "Identifier", "start": 2500, "end": 2501, "loc": { "start": { "line": 94, "column": 46 }, "end": { "line": 94, "column": 47 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 2502, "end": 2507, "loc": { "start": { "line": 94, "column": 48 }, "end": { "line": 94, "column": 53 }, "identifierName": "scale" }, "name": "scale" }, "computed": false } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2510, "end": 2566, "loc": { "start": { "line": 95, "column": 1 }, "end": { "line": 95, "column": 57 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2516, "end": 2565, "loc": { "start": { "line": 95, "column": 7 }, "end": { "line": 95, "column": 56 } }, "id": { "type": "Identifier", "start": 2516, "end": 2523, "loc": { "start": { "line": 95, "column": 7 }, "end": { "line": 95, "column": 14 }, "identifierName": "b_min_x" }, "name": "b_min_x" }, "init": { "type": "ConditionalExpression", "start": 2528, "end": 2565, "loc": { "start": { "line": 95, "column": 19 }, "end": { "line": 95, "column": 56 } }, "test": { "type": "Identifier", "start": 2528, "end": 2537, "loc": { "start": { "line": 95, "column": 19 }, "end": { "line": 95, "column": 28 }, "identifierName": "b_polygon" }, "name": "b_polygon" }, "consequent": { "type": "MemberExpression", "start": 2540, "end": 2548, "loc": { "start": { "line": 95, "column": 31 }, "end": { "line": 95, "column": 39 } }, "object": { "type": "Identifier", "start": 2540, "end": 2541, "loc": { "start": { "line": 95, "column": 31 }, "end": { "line": 95, "column": 32 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 2542, "end": 2548, "loc": { "start": { "line": 95, "column": 33 }, "end": { "line": 95, "column": 39 }, "identifierName": "_min_x" }, "name": "_min_x" }, "computed": false }, "alternate": { "type": "BinaryExpression", "start": 2551, "end": 2565, "loc": { "start": { "line": 95, "column": 42 }, "end": { "line": 95, "column": 56 } }, "left": { "type": "Identifier", "start": 2551, "end": 2554, "loc": { "start": { "line": 95, "column": 42 }, "end": { "line": 95, "column": 45 }, "identifierName": "b_x" }, "name": "b_x" }, "operator": "-", "right": { "type": "Identifier", "start": 2557, "end": 2565, "loc": { "start": { "line": 95, "column": 48 }, "end": { "line": 95, "column": 56 }, "identifierName": "b_radius" }, "name": "b_radius" } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2568, "end": 2624, "loc": { "start": { "line": 96, "column": 1 }, "end": { "line": 96, "column": 57 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2574, "end": 2623, "loc": { "start": { "line": 96, "column": 7 }, "end": { "line": 96, "column": 56 } }, "id": { "type": "Identifier", "start": 2574, "end": 2581, "loc": { "start": { "line": 96, "column": 7 }, "end": { "line": 96, "column": 14 }, "identifierName": "b_min_y" }, "name": "b_min_y" }, "init": { "type": "ConditionalExpression", "start": 2586, "end": 2623, "loc": { "start": { "line": 96, "column": 19 }, "end": { "line": 96, "column": 56 } }, "test": { "type": "Identifier", "start": 2586, "end": 2595, "loc": { "start": { "line": 96, "column": 19 }, "end": { "line": 96, "column": 28 }, "identifierName": "b_polygon" }, "name": "b_polygon" }, "consequent": { "type": "MemberExpression", "start": 2598, "end": 2606, "loc": { "start": { "line": 96, "column": 31 }, "end": { "line": 96, "column": 39 } }, "object": { "type": "Identifier", "start": 2598, "end": 2599, "loc": { "start": { "line": 96, "column": 31 }, "end": { "line": 96, "column": 32 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 2600, "end": 2606, "loc": { "start": { "line": 96, "column": 33 }, "end": { "line": 96, "column": 39 }, "identifierName": "_min_y" }, "name": "_min_y" }, "computed": false }, "alternate": { "type": "BinaryExpression", "start": 2609, "end": 2623, "loc": { "start": { "line": 96, "column": 42 }, "end": { "line": 96, "column": 56 } }, "left": { "type": "Identifier", "start": 2609, "end": 2612, "loc": { "start": { "line": 96, "column": 42 }, "end": { "line": 96, "column": 45 }, "identifierName": "b_y" }, "name": "b_y" }, "operator": "-", "right": { "type": "Identifier", "start": 2615, "end": 2623, "loc": { "start": { "line": 96, "column": 48 }, "end": { "line": 96, "column": 56 }, "identifierName": "b_radius" }, "name": "b_radius" } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2626, "end": 2682, "loc": { "start": { "line": 97, "column": 1 }, "end": { "line": 97, "column": 57 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2632, "end": 2681, "loc": { "start": { "line": 97, "column": 7 }, "end": { "line": 97, "column": 56 } }, "id": { "type": "Identifier", "start": 2632, "end": 2639, "loc": { "start": { "line": 97, "column": 7 }, "end": { "line": 97, "column": 14 }, "identifierName": "b_max_x" }, "name": "b_max_x" }, "init": { "type": "ConditionalExpression", "start": 2644, "end": 2681, "loc": { "start": { "line": 97, "column": 19 }, "end": { "line": 97, "column": 56 } }, "test": { "type": "Identifier", "start": 2644, "end": 2653, "loc": { "start": { "line": 97, "column": 19 }, "end": { "line": 97, "column": 28 }, "identifierName": "b_polygon" }, "name": "b_polygon" }, "consequent": { "type": "MemberExpression", "start": 2656, "end": 2664, "loc": { "start": { "line": 97, "column": 31 }, "end": { "line": 97, "column": 39 } }, "object": { "type": "Identifier", "start": 2656, "end": 2657, "loc": { "start": { "line": 97, "column": 31 }, "end": { "line": 97, "column": 32 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 2658, "end": 2664, "loc": { "start": { "line": 97, "column": 33 }, "end": { "line": 97, "column": 39 }, "identifierName": "_max_x" }, "name": "_max_x" }, "computed": false }, "alternate": { "type": "BinaryExpression", "start": 2667, "end": 2681, "loc": { "start": { "line": 97, "column": 42 }, "end": { "line": 97, "column": 56 } }, "left": { "type": "Identifier", "start": 2667, "end": 2670, "loc": { "start": { "line": 97, "column": 42 }, "end": { "line": 97, "column": 45 }, "identifierName": "b_x" }, "name": "b_x" }, "operator": "+", "right": { "type": "Identifier", "start": 2673, "end": 2681, "loc": { "start": { "line": 97, "column": 48 }, "end": { "line": 97, "column": 56 }, "identifierName": "b_radius" }, "name": "b_radius" } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2684, "end": 2740, "loc": { "start": { "line": 98, "column": 1 }, "end": { "line": 98, "column": 57 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2690, "end": 2739, "loc": { "start": { "line": 98, "column": 7 }, "end": { "line": 98, "column": 56 } }, "id": { "type": "Identifier", "start": 2690, "end": 2697, "loc": { "start": { "line": 98, "column": 7 }, "end": { "line": 98, "column": 14 }, "identifierName": "b_max_y" }, "name": "b_max_y" }, "init": { "type": "ConditionalExpression", "start": 2702, "end": 2739, "loc": { "start": { "line": 98, "column": 19 }, "end": { "line": 98, "column": 56 } }, "test": { "type": "Identifier", "start": 2702, "end": 2711, "loc": { "start": { "line": 98, "column": 19 }, "end": { "line": 98, "column": 28 }, "identifierName": "b_polygon" }, "name": "b_polygon" }, "consequent": { "type": "MemberExpression", "start": 2714, "end": 2722, "loc": { "start": { "line": 98, "column": 31 }, "end": { "line": 98, "column": 39 } }, "object": { "type": "Identifier", "start": 2714, "end": 2715, "loc": { "start": { "line": 98, "column": 31 }, "end": { "line": 98, "column": 32 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 2716, "end": 2722, "loc": { "start": { "line": 98, "column": 33 }, "end": { "line": 98, "column": 39 }, "identifierName": "_max_y" }, "name": "_max_y" }, "computed": false }, "alternate": { "type": "BinaryExpression", "start": 2725, "end": 2739, "loc": { "start": { "line": 98, "column": 42 }, "end": { "line": 98, "column": 56 } }, "left": { "type": "Identifier", "start": 2725, "end": 2728, "loc": { "start": { "line": 98, "column": 42 }, "end": { "line": 98, "column": 45 }, "identifierName": "b_y" }, "name": "b_y" }, "operator": "+", "right": { "type": "Identifier", "start": 2731, "end": 2739, "loc": { "start": { "line": 98, "column": 48 }, "end": { "line": 98, "column": 56 }, "identifierName": "b_radius" }, "name": "b_radius" } } } } ], "kind": "const" }, { "type": "ReturnStatement", "start": 2743, "end": 2831, "loc": { "start": { "line": 100, "column": 1 }, "end": { "line": 100, "column": 89 } }, "argument": { "type": "LogicalExpression", "start": 2750, "end": 2830, "loc": { "start": { "line": 100, "column": 8 }, "end": { "line": 100, "column": 88 } }, "left": { "type": "LogicalExpression", "start": 2750, "end": 2809, "loc": { "start": { "line": 100, "column": 8 }, "end": { "line": 100, "column": 67 } }, "left": { "type": "LogicalExpression", "start": 2750, "end": 2788, "loc": { "start": { "line": 100, "column": 8 }, "end": { "line": 100, "column": 46 } }, "left": { "type": "BinaryExpression", "start": 2750, "end": 2767, "loc": { "start": { "line": 100, "column": 8 }, "end": { "line": 100, "column": 25 } }, "left": { "type": "Identifier", "start": 2750, "end": 2757, "loc": { "start": { "line": 100, "column": 8 }, "end": { "line": 100, "column": 15 }, "identifierName": "a_min_x" }, "name": "a_min_x" }, "operator": "<", "right": { "type": "Identifier", "start": 2760, "end": 2767, "loc": { "start": { "line": 100, "column": 18 }, "end": { "line": 100, "column": 25 }, "identifierName": "b_max_x" }, "name": "b_max_x" } }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 2771, "end": 2788, "loc": { "start": { "line": 100, "column": 29 }, "end": { "line": 100, "column": 46 } }, "left": { "type": "Identifier", "start": 2771, "end": 2778, "loc": { "start": { "line": 100, "column": 29 }, "end": { "line": 100, "column": 36 }, "identifierName": "a_min_y" }, "name": "a_min_y" }, "operator": "<", "right": { "type": "Identifier", "start": 2781, "end": 2788, "loc": { "start": { "line": 100, "column": 39 }, "end": { "line": 100, "column": 46 }, "identifierName": "b_max_y" }, "name": "b_max_y" } } }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 2792, "end": 2809, "loc": { "start": { "line": 100, "column": 50 }, "end": { "line": 100, "column": 67 } }, "left": { "type": "Identifier", "start": 2792, "end": 2799, "loc": { "start": { "line": 100, "column": 50 }, "end": { "line": 100, "column": 57 }, "identifierName": "a_max_x" }, "name": "a_max_x" }, "operator": ">", "right": { "type": "Identifier", "start": 2802, "end": 2809, "loc": { "start": { "line": 100, "column": 60 }, "end": { "line": 100, "column": 67 }, "identifierName": "b_min_x" }, "name": "b_min_x" } } }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 2813, "end": 2830, "loc": { "start": { "line": 100, "column": 71 }, "end": { "line": 100, "column": 88 } }, "left": { "type": "Identifier", "start": 2813, "end": 2820, "loc": { "start": { "line": 100, "column": 71 }, "end": { "line": 100, "column": 78 }, "identifierName": "a_max_y" }, "name": "a_max_y" }, "operator": ">", "right": { "type": "Identifier", "start": 2823, "end": 2830, "loc": { "start": { "line": 100, "column": 81 }, "end": { "line": 100, "column": 88 }, "identifierName": "b_min_y" }, "name": "b_min_y" } } } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * Determines if two bodies' axis aligned bounding boxes are colliding\n * @param {Circle|Polygon|Point} a The source body to test\n * @param {Circle|Polygon|Point} b The target body to test against\n ", "start": 1713, "end": 1917, "loc": { "start": { "line": 76, "column": 0 }, "end": { "line": 80, "column": 3 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n * Determines if two polygons are colliding\n * @param {Polygon} a The source polygon to test\n * @param {Polygon} b The target polygon to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n ", "start": 2835, "end": 3115, "loc": { "start": { "line": 103, "column": 0 }, "end": { "line": 109, "column": 3 } } } ] }, { "type": "FunctionDeclaration", "start": 3116, "end": 3999, "loc": { "start": { "line": 110, "column": 0 }, "end": { "line": 148, "column": 1 } }, "id": { "type": "Identifier", "start": 3125, "end": 3139, "loc": { "start": { "line": 110, "column": 9 }, "end": { "line": 110, "column": 23 }, "identifierName": "polygonPolygon" }, "name": "polygonPolygon", "leadingComments": null }, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 3140, "end": 3141, "loc": { "start": { "line": 110, "column": 24 }, "end": { "line": 110, "column": 25 }, "identifierName": "a" }, "name": "a" }, { "type": "Identifier", "start": 3143, "end": 3144, "loc": { "start": { "line": 110, "column": 27 }, "end": { "line": 110, "column": 28 }, "identifierName": "b" }, "name": "b" }, { "type": "AssignmentPattern", "start": 3146, "end": 3159, "loc": { "start": { "line": 110, "column": 30 }, "end": { "line": 110, "column": 43 } }, "left": { "type": "Identifier", "start": 3146, "end": 3152, "loc": { "start": { "line": 110, "column": 30 }, "end": { "line": 110, "column": 36 }, "identifierName": "result" }, "name": "result" }, "right": { "type": "NullLiteral", "start": 3155, "end": 3159, "loc": { "start": { "line": 110, "column": 39 }, "end": { "line": 110, "column": 43 } } } } ], "body": { "type": "BlockStatement", "start": 3161, "end": 3999, "loc": { "start": { "line": 110, "column": 45 }, "end": { "line": 148, "column": 1 } }, "body": [ { "type": "VariableDeclaration", "start": 3164, "end": 3197, "loc": { "start": { "line": 111, "column": 1 }, "end": { "line": 111, "column": 34 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3170, "end": 3196, "loc": { "start": { "line": 111, "column": 7 }, "end": { "line": 111, "column": 33 } }, "id": { "type": "Identifier", "start": 3170, "end": 3177, "loc": { "start": { "line": 111, "column": 7 }, "end": { "line": 111, "column": 14 }, "identifierName": "a_count" }, "name": "a_count" }, "init": { "type": "MemberExpression", "start": 3180, "end": 3196, "loc": { "start": { "line": 111, "column": 17 }, "end": { "line": 111, "column": 33 } }, "object": { "type": "MemberExpression", "start": 3180, "end": 3189, "loc": { "start": { "line": 111, "column": 17 }, "end": { "line": 111, "column": 26 } }, "object": { "type": "Identifier", "start": 3180, "end": 3181, "loc": { "start": { "line": 111, "column": 17 }, "end": { "line": 111, "column": 18 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 3182, "end": 3189, "loc": { "start": { "line": 111, "column": 19 }, "end": { "line": 111, "column": 26 }, "identifierName": "_coords" }, "name": "_coords" }, "computed": false }, "property": { "type": "Identifier", "start": 3190, "end": 3196, "loc": { "start": { "line": 111, "column": 27 }, "end": { "line": 111, "column": 33 }, "identifierName": "length" }, "name": "length" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3199, "end": 3232, "loc": { "start": { "line": 112, "column": 1 }, "end": { "line": 112, "column": 34 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3205, "end": 3231, "loc": { "start": { "line": 112, "column": 7 }, "end": { "line": 112, "column": 33 } }, "id": { "type": "Identifier", "start": 3205, "end": 3212, "loc": { "start": { "line": 112, "column": 7 }, "end": { "line": 112, "column": 14 }, "identifierName": "b_count" }, "name": "b_count" }, "init": { "type": "MemberExpression", "start": 3215, "end": 3231, "loc": { "start": { "line": 112, "column": 17 }, "end": { "line": 112, "column": 33 } }, "object": { "type": "MemberExpression", "start": 3215, "end": 3224, "loc": { "start": { "line": 112, "column": 17 }, "end": { "line": 112, "column": 26 } }, "object": { "type": "Identifier", "start": 3215, "end": 3216, "loc": { "start": { "line": 112, "column": 17 }, "end": { "line": 112, "column": 18 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 3217, "end": 3224, "loc": { "start": { "line": 112, "column": 19 }, "end": { "line": 112, "column": 26 }, "identifierName": "_coords" }, "name": "_coords" }, "computed": false }, "property": { "type": "Identifier", "start": 3225, "end": 3231, "loc": { "start": { "line": 112, "column": 27 }, "end": { "line": 112, "column": 33 }, "identifierName": "length" }, "name": "length" }, "computed": false } } ], "kind": "const", "trailingComments": [ { "type": "CommentLine", "value": " Handle points specially", "start": 3235, "end": 3261, "loc": { "start": { "line": 114, "column": 1 }, "end": { "line": 114, "column": 27 } } } ] }, { "type": "IfStatement", "start": 3263, "end": 3475, "loc": { "start": { "line": 115, "column": 1 }, "end": { "line": 124, "column": 2 } }, "test": { "type": "LogicalExpression", "start": 3266, "end": 3296, "loc": { "start": { "line": 115, "column": 4 }, "end": { "line": 115, "column": 34 } }, "left": { "type": "BinaryExpression", "start": 3266, "end": 3279, "loc": { "start": { "line": 115, "column": 4 }, "end": { "line": 115, "column": 17 } }, "left": { "type": "Identifier", "start": 3266, "end": 3273, "loc": { "start": { "line": 115, "column": 4 }, "end": { "line": 115, "column": 11 }, "identifierName": "a_count" }, "name": "a_count", "leadingComments": null }, "operator": "===", "right": { "type": "NumericLiteral", "start": 3278, "end": 3279, "loc": { "start": { "line": 115, "column": 16 }, "end": { "line": 115, "column": 17 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 }, "leadingComments": null }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 3283, "end": 3296, "loc": { "start": { "line": 115, "column": 21 }, "end": { "line": 115, "column": 34 } }, "left": { "type": "Identifier", "start": 3283, "end": 3290, "loc": { "start": { "line": 115, "column": 21 }, "end": { "line": 115, "column": 28 }, "identifierName": "b_count" }, "name": "b_count" }, "operator": "===", "right": { "type": "NumericLiteral", "start": 3295, "end": 3296, "loc": { "start": { "line": 115, "column": 33 }, "end": { "line": 115, "column": 34 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, "leadingComments": null }, "consequent": { "type": "BlockStatement", "start": 3298, "end": 3475, "loc": { "start": { "line": 115, "column": 36 }, "end": { "line": 124, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 3302, "end": 3329, "loc": { "start": { "line": 116, "column": 2 }, "end": { "line": 116, "column": 29 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3308, "end": 3328, "loc": { "start": { "line": 116, "column": 8 }, "end": { "line": 116, "column": 28 } }, "id": { "type": "Identifier", "start": 3308, "end": 3316, "loc": { "start": { "line": 116, "column": 8 }, "end": { "line": 116, "column": 16 }, "identifierName": "a_coords" }, "name": "a_coords" }, "init": { "type": "MemberExpression", "start": 3319, "end": 3328, "loc": { "start": { "line": 116, "column": 19 }, "end": { "line": 116, "column": 28 } }, "object": { "type": "Identifier", "start": 3319, "end": 3320, "loc": { "start": { "line": 116, "column": 19 }, "end": { "line": 116, "column": 20 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 3321, "end": 3328, "loc": { "start": { "line": 116, "column": 21 }, "end": { "line": 116, "column": 28 }, "identifierName": "_coords" }, "name": "_coords" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3332, "end": 3359, "loc": { "start": { "line": 117, "column": 2 }, "end": { "line": 117, "column": 29 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3338, "end": 3358, "loc": { "start": { "line": 117, "column": 8 }, "end": { "line": 117, "column": 28 } }, "id": { "type": "Identifier", "start": 3338, "end": 3346, "loc": { "start": { "line": 117, "column": 8 }, "end": { "line": 117, "column": 16 }, "identifierName": "b_coords" }, "name": "b_coords" }, "init": { "type": "MemberExpression", "start": 3349, "end": 3358, "loc": { "start": { "line": 117, "column": 19 }, "end": { "line": 117, "column": 28 } }, "object": { "type": "Identifier", "start": 3349, "end": 3350, "loc": { "start": { "line": 117, "column": 19 }, "end": { "line": 117, "column": 20 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 3351, "end": 3358, "loc": { "start": { "line": 117, "column": 21 }, "end": { "line": 117, "column": 28 }, "identifierName": "_coords" }, "name": "_coords" }, "computed": false } } ], "kind": "const" }, { "type": "IfStatement", "start": 3363, "end": 3402, "loc": { "start": { "line": 119, "column": 2 }, "end": { "line": 121, "column": 3 } }, "test": { "type": "Identifier", "start": 3366, "end": 3372, "loc": { "start": { "line": 119, "column": 5 }, "end": { "line": 119, "column": 11 }, "identifierName": "result" }, "name": "result" }, "consequent": { "type": "BlockStatement", "start": 3374, "end": 3402, "loc": { "start": { "line": 119, "column": 13 }, "end": { "line": 121, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 3379, "end": 3398, "loc": { "start": { "line": 120, "column": 3 }, "end": { "line": 120, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 3379, "end": 3397, "loc": { "start": { "line": 120, "column": 3 }, "end": { "line": 120, "column": 21 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 3379, "end": 3393, "loc": { "start": { "line": 120, "column": 3 }, "end": { "line": 120, "column": 17 } }, "object": { "type": "Identifier", "start": 3379, "end": 3385, "loc": { "start": { "line": 120, "column": 3 }, "end": { "line": 120, "column": 9 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 3386, "end": 3393, "loc": { "start": { "line": 120, "column": 10 }, "end": { "line": 120, "column": 17 }, "identifierName": "overlap" }, "name": "overlap" }, "computed": false }, "right": { "type": "NumericLiteral", "start": 3396, "end": 3397, "loc": { "start": { "line": 120, "column": 20 }, "end": { "line": 120, "column": 21 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } } ], "directives": [] }, "alternate": null }, { "type": "ReturnStatement", "start": 3406, "end": 3472, "loc": { "start": { "line": 123, "column": 2 }, "end": { "line": 123, "column": 68 } }, "argument": { "type": "LogicalExpression", "start": 3413, "end": 3471, "loc": { "start": { "line": 123, "column": 9 }, "end": { "line": 123, "column": 67 } }, "left": { "type": "BinaryExpression", "start": 3413, "end": 3440, "loc": { "start": { "line": 123, "column": 9 }, "end": { "line": 123, "column": 36 } }, "left": { "type": "MemberExpression", "start": 3413, "end": 3424, "loc": { "start": { "line": 123, "column": 9 }, "end": { "line": 123, "column": 20 } }, "object": { "type": "Identifier", "start": 3413, "end": 3421, "loc": { "start": { "line": 123, "column": 9 }, "end": { "line": 123, "column": 17 }, "identifierName": "a_coords" }, "name": "a_coords" }, "property": { "type": "NumericLiteral", "start": 3422, "end": 3423, "loc": { "start": { "line": 123, "column": 18 }, "end": { "line": 123, "column": 19 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "computed": true }, "operator": "===", "right": { "type": "MemberExpression", "start": 3429, "end": 3440, "loc": { "start": { "line": 123, "column": 25 }, "end": { "line": 123, "column": 36 } }, "object": { "type": "Identifier", "start": 3429, "end": 3437, "loc": { "start": { "line": 123, "column": 25 }, "end": { "line": 123, "column": 33 }, "identifierName": "b_coords" }, "name": "b_coords" }, "property": { "type": "NumericLiteral", "start": 3438, "end": 3439, "loc": { "start": { "line": 123, "column": 34 }, "end": { "line": 123, "column": 35 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "computed": true } }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 3444, "end": 3471, "loc": { "start": { "line": 123, "column": 40 }, "end": { "line": 123, "column": 67 } }, "left": { "type": "MemberExpression", "start": 3444, "end": 3455, "loc": { "start": { "line": 123, "column": 40 }, "end": { "line": 123, "column": 51 } }, "object": { "type": "Identifier", "start": 3444, "end": 3452, "loc": { "start": { "line": 123, "column": 40 }, "end": { "line": 123, "column": 48 }, "identifierName": "a_coords" }, "name": "a_coords" }, "property": { "type": "NumericLiteral", "start": 3453, "end": 3454, "loc": { "start": { "line": 123, "column": 49 }, "end": { "line": 123, "column": 50 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, "computed": true }, "operator": "===", "right": { "type": "MemberExpression", "start": 3460, "end": 3471, "loc": { "start": { "line": 123, "column": 56 }, "end": { "line": 123, "column": 67 } }, "object": { "type": "Identifier", "start": 3460, "end": 3468, "loc": { "start": { "line": 123, "column": 56 }, "end": { "line": 123, "column": 64 }, "identifierName": "b_coords" }, "name": "b_coords" }, "property": { "type": "NumericLiteral", "start": 3469, "end": 3470, "loc": { "start": { "line": 123, "column": 65 }, "end": { "line": 123, "column": 66 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, "computed": true } } } } ], "directives": [] }, "alternate": null, "leadingComments": [ { "type": "CommentLine", "value": " Handle points specially", "start": 3235, "end": 3261, "loc": { "start": { "line": 114, "column": 1 }, "end": { "line": 114, "column": 27 } } } ] }, { "type": "VariableDeclaration", "start": 3478, "end": 3506, "loc": { "start": { "line": 126, "column": 1 }, "end": { "line": 126, "column": 29 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3484, "end": 3505, "loc": { "start": { "line": 126, "column": 7 }, "end": { "line": 126, "column": 28 } }, "id": { "type": "Identifier", "start": 3484, "end": 3492, "loc": { "start": { "line": 126, "column": 7 }, "end": { "line": 126, "column": 15 }, "identifierName": "a_coords" }, "name": "a_coords" }, "init": { "type": "MemberExpression", "start": 3496, "end": 3505, "loc": { "start": { "line": 126, "column": 19 }, "end": { "line": 126, "column": 28 } }, "object": { "type": "Identifier", "start": 3496, "end": 3497, "loc": { "start": { "line": 126, "column": 19 }, "end": { "line": 126, "column": 20 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 3498, "end": 3505, "loc": { "start": { "line": 126, "column": 21 }, "end": { "line": 126, "column": 28 }, "identifierName": "_coords" }, "name": "_coords" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3508, "end": 3536, "loc": { "start": { "line": 127, "column": 1 }, "end": { "line": 127, "column": 29 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3514, "end": 3535, "loc": { "start": { "line": 127, "column": 7 }, "end": { "line": 127, "column": 28 } }, "id": { "type": "Identifier", "start": 3514, "end": 3522, "loc": { "start": { "line": 127, "column": 7 }, "end": { "line": 127, "column": 15 }, "identifierName": "b_coords" }, "name": "b_coords" }, "init": { "type": "MemberExpression", "start": 3526, "end": 3535, "loc": { "start": { "line": 127, "column": 19 }, "end": { "line": 127, "column": 28 } }, "object": { "type": "Identifier", "start": 3526, "end": 3527, "loc": { "start": { "line": 127, "column": 19 }, "end": { "line": 127, "column": 20 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 3528, "end": 3535, "loc": { "start": { "line": 127, "column": 21 }, "end": { "line": 127, "column": 28 }, "identifierName": "_coords" }, "name": "_coords" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3538, "end": 3567, "loc": { "start": { "line": 128, "column": 1 }, "end": { "line": 128, "column": 30 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3544, "end": 3566, "loc": { "start": { "line": 128, "column": 7 }, "end": { "line": 128, "column": 29 } }, "id": { "type": "Identifier", "start": 3544, "end": 3553, "loc": { "start": { "line": 128, "column": 7 }, "end": { "line": 128, "column": 16 }, "identifierName": "a_normals" }, "name": "a_normals" }, "init": { "type": "MemberExpression", "start": 3556, "end": 3566, "loc": { "start": { "line": 128, "column": 19 }, "end": { "line": 128, "column": 29 } }, "object": { "type": "Identifier", "start": 3556, "end": 3557, "loc": { "start": { "line": 128, "column": 19 }, "end": { "line": 128, "column": 20 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 3558, "end": 3566, "loc": { "start": { "line": 128, "column": 21 }, "end": { "line": 128, "column": 29 }, "identifierName": "_normals" }, "name": "_normals" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 3569, "end": 3598, "loc": { "start": { "line": 129, "column": 1 }, "end": { "line": 129, "column": 30 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3575, "end": 3597, "loc": { "start": { "line": 129, "column": 7 }, "end": { "line": 129, "column": 29 } }, "id": { "type": "Identifier", "start": 3575, "end": 3584, "loc": { "start": { "line": 129, "column": 7 }, "end": { "line": 129, "column": 16 }, "identifierName": "b_normals" }, "name": "b_normals" }, "init": { "type": "MemberExpression", "start": 3587, "end": 3597, "loc": { "start": { "line": 129, "column": 19 }, "end": { "line": 129, "column": 29 } }, "object": { "type": "Identifier", "start": 3587, "end": 3588, "loc": { "start": { "line": 129, "column": 19 }, "end": { "line": 129, "column": 20 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 3589, "end": 3597, "loc": { "start": { "line": 129, "column": 21 }, "end": { "line": 129, "column": 29 }, "identifierName": "_normals" }, "name": "_normals" }, "computed": false } } ], "kind": "const" }, { "type": "IfStatement", "start": 3601, "end": 3790, "loc": { "start": { "line": 131, "column": 1 }, "end": { "line": 137, "column": 2 } }, "test": { "type": "BinaryExpression", "start": 3604, "end": 3615, "loc": { "start": { "line": 131, "column": 4 }, "end": { "line": 131, "column": 15 } }, "left": { "type": "Identifier", "start": 3604, "end": 3611, "loc": { "start": { "line": 131, "column": 4 }, "end": { "line": 131, "column": 11 }, "identifierName": "a_count" }, "name": "a_count" }, "operator": ">", "right": { "type": "NumericLiteral", "start": 3614, "end": 3615, "loc": { "start": { "line": 131, "column": 14 }, "end": { "line": 131, "column": 15 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, "consequent": { "type": "BlockStatement", "start": 3617, "end": 3790, "loc": { "start": { "line": 131, "column": 17 }, "end": { "line": 137, "column": 2 } }, "body": [ { "type": "ForStatement", "start": 3621, "end": 3787, "loc": { "start": { "line": 132, "column": 2 }, "end": { "line": 136, "column": 3 } }, "init": { "type": "VariableDeclaration", "start": 3625, "end": 3643, "loc": { "start": { "line": 132, "column": 6 }, "end": { "line": 132, "column": 24 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3629, "end": 3635, "loc": { "start": { "line": 132, "column": 10 }, "end": { "line": 132, "column": 16 } }, "id": { "type": "Identifier", "start": 3629, "end": 3631, "loc": { "start": { "line": 132, "column": 10 }, "end": { "line": 132, "column": 12 }, "identifierName": "ix" }, "name": "ix" }, "init": { "type": "NumericLiteral", "start": 3634, "end": 3635, "loc": { "start": { "line": 132, "column": 15 }, "end": { "line": 132, "column": 16 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "VariableDeclarator", "start": 3637, "end": 3643, "loc": { "start": { "line": 132, "column": 18 }, "end": { "line": 132, "column": 24 } }, "id": { "type": "Identifier", "start": 3637, "end": 3639, "loc": { "start": { "line": 132, "column": 18 }, "end": { "line": 132, "column": 20 }, "identifierName": "iy" }, "name": "iy" }, "init": { "type": "NumericLiteral", "start": 3642, "end": 3643, "loc": { "start": { "line": 132, "column": 23 }, "end": { "line": 132, "column": 24 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } } ], "kind": "let" }, "test": { "type": "BinaryExpression", "start": 3645, "end": 3657, "loc": { "start": { "line": 132, "column": 26 }, "end": { "line": 132, "column": 38 } }, "left": { "type": "Identifier", "start": 3645, "end": 3647, "loc": { "start": { "line": 132, "column": 26 }, "end": { "line": 132, "column": 28 }, "identifierName": "ix" }, "name": "ix" }, "operator": "<", "right": { "type": "Identifier", "start": 3650, "end": 3657, "loc": { "start": { "line": 132, "column": 31 }, "end": { "line": 132, "column": 38 }, "identifierName": "a_count" }, "name": "a_count" } }, "update": { "type": "SequenceExpression", "start": 3659, "end": 3675, "loc": { "start": { "line": 132, "column": 40 }, "end": { "line": 132, "column": 56 } }, "expressions": [ { "type": "AssignmentExpression", "start": 3659, "end": 3666, "loc": { "start": { "line": 132, "column": 40 }, "end": { "line": 132, "column": 47 } }, "operator": "+=", "left": { "type": "Identifier", "start": 3659, "end": 3661, "loc": { "start": { "line": 132, "column": 40 }, "end": { "line": 132, "column": 42 }, "identifierName": "ix" }, "name": "ix" }, "right": { "type": "NumericLiteral", "start": 3665, "end": 3666, "loc": { "start": { "line": 132, "column": 46 }, "end": { "line": 132, "column": 47 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, { "type": "AssignmentExpression", "start": 3668, "end": 3675, "loc": { "start": { "line": 132, "column": 49 }, "end": { "line": 132, "column": 56 } }, "operator": "+=", "left": { "type": "Identifier", "start": 3668, "end": 3670, "loc": { "start": { "line": 132, "column": 49 }, "end": { "line": 132, "column": 51 }, "identifierName": "iy" }, "name": "iy" }, "right": { "type": "NumericLiteral", "start": 3674, "end": 3675, "loc": { "start": { "line": 132, "column": 55 }, "end": { "line": 132, "column": 56 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } } ] }, "body": { "type": "BlockStatement", "start": 3677, "end": 3787, "loc": { "start": { "line": 132, "column": 58 }, "end": { "line": 136, "column": 3 } }, "body": [ { "type": "IfStatement", "start": 3682, "end": 3783, "loc": { "start": { "line": 133, "column": 3 }, "end": { "line": 135, "column": 4 } }, "test": { "type": "CallExpression", "start": 3685, "end": 3757, "loc": { "start": { "line": 133, "column": 6 }, "end": { "line": 133, "column": 78 } }, "callee": { "type": "Identifier", "start": 3685, "end": 3699, "loc": { "start": { "line": 133, "column": 6 }, "end": { "line": 133, "column": 20 }, "identifierName": "separatingAxis" }, "name": "separatingAxis" }, "arguments": [ { "type": "Identifier", "start": 3700, "end": 3708, "loc": { "start": { "line": 133, "column": 21 }, "end": { "line": 133, "column": 29 }, "identifierName": "a_coords" }, "name": "a_coords" }, { "type": "Identifier", "start": 3710, "end": 3718, "loc": { "start": { "line": 133, "column": 31 }, "end": { "line": 133, "column": 39 }, "identifierName": "b_coords" }, "name": "b_coords" }, { "type": "MemberExpression", "start": 3720, "end": 3733, "loc": { "start": { "line": 133, "column": 41 }, "end": { "line": 133, "column": 54 } }, "object": { "type": "Identifier", "start": 3720, "end": 3729, "loc": { "start": { "line": 133, "column": 41 }, "end": { "line": 133, "column": 50 }, "identifierName": "a_normals" }, "name": "a_normals" }, "property": { "type": "Identifier", "start": 3730, "end": 3732, "loc": { "start": { "line": 133, "column": 51 }, "end": { "line": 133, "column": 53 }, "identifierName": "ix" }, "name": "ix" }, "computed": true }, { "type": "MemberExpression", "start": 3735, "end": 3748, "loc": { "start": { "line": 133, "column": 56 }, "end": { "line": 133, "column": 69 } }, "object": { "type": "Identifier", "start": 3735, "end": 3744, "loc": { "start": { "line": 133, "column": 56 }, "end": { "line": 133, "column": 65 }, "identifierName": "a_normals" }, "name": "a_normals" }, "property": { "type": "Identifier", "start": 3745, "end": 3747, "loc": { "start": { "line": 133, "column": 66 }, "end": { "line": 133, "column": 68 }, "identifierName": "iy" }, "name": "iy" }, "computed": true }, { "type": "Identifier", "start": 3750, "end": 3756, "loc": { "start": { "line": 133, "column": 71 }, "end": { "line": 133, "column": 77 }, "identifierName": "result" }, "name": "result" } ] }, "consequent": { "type": "BlockStatement", "start": 3759, "end": 3783, "loc": { "start": { "line": 133, "column": 80 }, "end": { "line": 135, "column": 4 } }, "body": [ { "type": "ReturnStatement", "start": 3765, "end": 3778, "loc": { "start": { "line": 134, "column": 4 }, "end": { "line": 134, "column": 17 } }, "argument": { "type": "BooleanLiteral", "start": 3772, "end": 3777, "loc": { "start": { "line": 134, "column": 11 }, "end": { "line": 134, "column": 16 } }, "value": false } } ], "directives": [] }, "alternate": null } ], "directives": [] } } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 3793, "end": 3982, "loc": { "start": { "line": 139, "column": 1 }, "end": { "line": 145, "column": 2 } }, "test": { "type": "BinaryExpression", "start": 3796, "end": 3807, "loc": { "start": { "line": 139, "column": 4 }, "end": { "line": 139, "column": 15 } }, "left": { "type": "Identifier", "start": 3796, "end": 3803, "loc": { "start": { "line": 139, "column": 4 }, "end": { "line": 139, "column": 11 }, "identifierName": "b_count" }, "name": "b_count" }, "operator": ">", "right": { "type": "NumericLiteral", "start": 3806, "end": 3807, "loc": { "start": { "line": 139, "column": 14 }, "end": { "line": 139, "column": 15 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, "consequent": { "type": "BlockStatement", "start": 3809, "end": 3982, "loc": { "start": { "line": 139, "column": 17 }, "end": { "line": 145, "column": 2 } }, "body": [ { "type": "ForStatement", "start": 3813, "end": 3979, "loc": { "start": { "line": 140, "column": 2 }, "end": { "line": 144, "column": 3 } }, "init": { "type": "VariableDeclaration", "start": 3817, "end": 3835, "loc": { "start": { "line": 140, "column": 6 }, "end": { "line": 140, "column": 24 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3821, "end": 3827, "loc": { "start": { "line": 140, "column": 10 }, "end": { "line": 140, "column": 16 } }, "id": { "type": "Identifier", "start": 3821, "end": 3823, "loc": { "start": { "line": 140, "column": 10 }, "end": { "line": 140, "column": 12 }, "identifierName": "ix" }, "name": "ix" }, "init": { "type": "NumericLiteral", "start": 3826, "end": 3827, "loc": { "start": { "line": 140, "column": 15 }, "end": { "line": 140, "column": 16 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "VariableDeclarator", "start": 3829, "end": 3835, "loc": { "start": { "line": 140, "column": 18 }, "end": { "line": 140, "column": 24 } }, "id": { "type": "Identifier", "start": 3829, "end": 3831, "loc": { "start": { "line": 140, "column": 18 }, "end": { "line": 140, "column": 20 }, "identifierName": "iy" }, "name": "iy" }, "init": { "type": "NumericLiteral", "start": 3834, "end": 3835, "loc": { "start": { "line": 140, "column": 23 }, "end": { "line": 140, "column": 24 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } } ], "kind": "let" }, "test": { "type": "BinaryExpression", "start": 3837, "end": 3849, "loc": { "start": { "line": 140, "column": 26 }, "end": { "line": 140, "column": 38 } }, "left": { "type": "Identifier", "start": 3837, "end": 3839, "loc": { "start": { "line": 140, "column": 26 }, "end": { "line": 140, "column": 28 }, "identifierName": "ix" }, "name": "ix" }, "operator": "<", "right": { "type": "Identifier", "start": 3842, "end": 3849, "loc": { "start": { "line": 140, "column": 31 }, "end": { "line": 140, "column": 38 }, "identifierName": "b_count" }, "name": "b_count" } }, "update": { "type": "SequenceExpression", "start": 3851, "end": 3867, "loc": { "start": { "line": 140, "column": 40 }, "end": { "line": 140, "column": 56 } }, "expressions": [ { "type": "AssignmentExpression", "start": 3851, "end": 3858, "loc": { "start": { "line": 140, "column": 40 }, "end": { "line": 140, "column": 47 } }, "operator": "+=", "left": { "type": "Identifier", "start": 3851, "end": 3853, "loc": { "start": { "line": 140, "column": 40 }, "end": { "line": 140, "column": 42 }, "identifierName": "ix" }, "name": "ix" }, "right": { "type": "NumericLiteral", "start": 3857, "end": 3858, "loc": { "start": { "line": 140, "column": 46 }, "end": { "line": 140, "column": 47 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, { "type": "AssignmentExpression", "start": 3860, "end": 3867, "loc": { "start": { "line": 140, "column": 49 }, "end": { "line": 140, "column": 56 } }, "operator": "+=", "left": { "type": "Identifier", "start": 3860, "end": 3862, "loc": { "start": { "line": 140, "column": 49 }, "end": { "line": 140, "column": 51 }, "identifierName": "iy" }, "name": "iy" }, "right": { "type": "NumericLiteral", "start": 3866, "end": 3867, "loc": { "start": { "line": 140, "column": 55 }, "end": { "line": 140, "column": 56 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } } ] }, "body": { "type": "BlockStatement", "start": 3869, "end": 3979, "loc": { "start": { "line": 140, "column": 58 }, "end": { "line": 144, "column": 3 } }, "body": [ { "type": "IfStatement", "start": 3874, "end": 3975, "loc": { "start": { "line": 141, "column": 3 }, "end": { "line": 143, "column": 4 } }, "test": { "type": "CallExpression", "start": 3877, "end": 3949, "loc": { "start": { "line": 141, "column": 6 }, "end": { "line": 141, "column": 78 } }, "callee": { "type": "Identifier", "start": 3877, "end": 3891, "loc": { "start": { "line": 141, "column": 6 }, "end": { "line": 141, "column": 20 }, "identifierName": "separatingAxis" }, "name": "separatingAxis" }, "arguments": [ { "type": "Identifier", "start": 3892, "end": 3900, "loc": { "start": { "line": 141, "column": 21 }, "end": { "line": 141, "column": 29 }, "identifierName": "a_coords" }, "name": "a_coords" }, { "type": "Identifier", "start": 3902, "end": 3910, "loc": { "start": { "line": 141, "column": 31 }, "end": { "line": 141, "column": 39 }, "identifierName": "b_coords" }, "name": "b_coords" }, { "type": "MemberExpression", "start": 3912, "end": 3925, "loc": { "start": { "line": 141, "column": 41 }, "end": { "line": 141, "column": 54 } }, "object": { "type": "Identifier", "start": 3912, "end": 3921, "loc": { "start": { "line": 141, "column": 41 }, "end": { "line": 141, "column": 50 }, "identifierName": "b_normals" }, "name": "b_normals" }, "property": { "type": "Identifier", "start": 3922, "end": 3924, "loc": { "start": { "line": 141, "column": 51 }, "end": { "line": 141, "column": 53 }, "identifierName": "ix" }, "name": "ix" }, "computed": true }, { "type": "MemberExpression", "start": 3927, "end": 3940, "loc": { "start": { "line": 141, "column": 56 }, "end": { "line": 141, "column": 69 } }, "object": { "type": "Identifier", "start": 3927, "end": 3936, "loc": { "start": { "line": 141, "column": 56 }, "end": { "line": 141, "column": 65 }, "identifierName": "b_normals" }, "name": "b_normals" }, "property": { "type": "Identifier", "start": 3937, "end": 3939, "loc": { "start": { "line": 141, "column": 66 }, "end": { "line": 141, "column": 68 }, "identifierName": "iy" }, "name": "iy" }, "computed": true }, { "type": "Identifier", "start": 3942, "end": 3948, "loc": { "start": { "line": 141, "column": 71 }, "end": { "line": 141, "column": 77 }, "identifierName": "result" }, "name": "result" } ] }, "consequent": { "type": "BlockStatement", "start": 3951, "end": 3975, "loc": { "start": { "line": 141, "column": 80 }, "end": { "line": 143, "column": 4 } }, "body": [ { "type": "ReturnStatement", "start": 3957, "end": 3970, "loc": { "start": { "line": 142, "column": 4 }, "end": { "line": 142, "column": 17 } }, "argument": { "type": "BooleanLiteral", "start": 3964, "end": 3969, "loc": { "start": { "line": 142, "column": 11 }, "end": { "line": 142, "column": 16 } }, "value": false } } ], "directives": [] }, "alternate": null } ], "directives": [] } } ], "directives": [] }, "alternate": null }, { "type": "ReturnStatement", "start": 3985, "end": 3997, "loc": { "start": { "line": 147, "column": 1 }, "end": { "line": 147, "column": 13 } }, "argument": { "type": "BooleanLiteral", "start": 3992, "end": 3996, "loc": { "start": { "line": 147, "column": 8 }, "end": { "line": 147, "column": 12 } }, "value": true } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * Determines if two polygons are colliding\n * @param {Polygon} a The source polygon to test\n * @param {Polygon} b The target polygon to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n ", "start": 2835, "end": 3115, "loc": { "start": { "line": 103, "column": 0 }, "end": { "line": 109, "column": 3 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n * Determines if a polygon and a circle are colliding\n * @param {Polygon} a The source polygon to test\n * @param {Circle} b The target circle to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @param {Boolean} [reverse = false] Set to true to reverse a and b in the result parameter when testing circle->polygon instead of polygon->circle\n * @returns {Boolean}\n ", "start": 4001, "end": 4438, "loc": { "start": { "line": 150, "column": 0 }, "end": { "line": 157, "column": 3 } } } ] }, { "type": "FunctionDeclaration", "start": 4439, "end": 8037, "loc": { "start": { "line": 158, "column": 0 }, "end": { "line": 282, "column": 1 } }, "id": { "type": "Identifier", "start": 4448, "end": 4461, "loc": { "start": { "line": 158, "column": 9 }, "end": { "line": 158, "column": 22 }, "identifierName": "polygonCircle" }, "name": "polygonCircle", "leadingComments": null }, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 4462, "end": 4463, "loc": { "start": { "line": 158, "column": 23 }, "end": { "line": 158, "column": 24 }, "identifierName": "a" }, "name": "a" }, { "type": "Identifier", "start": 4465, "end": 4466, "loc": { "start": { "line": 158, "column": 26 }, "end": { "line": 158, "column": 27 }, "identifierName": "b" }, "name": "b" }, { "type": "AssignmentPattern", "start": 4468, "end": 4481, "loc": { "start": { "line": 158, "column": 29 }, "end": { "line": 158, "column": 42 } }, "left": { "type": "Identifier", "start": 4468, "end": 4474, "loc": { "start": { "line": 158, "column": 29 }, "end": { "line": 158, "column": 35 }, "identifierName": "result" }, "name": "result" }, "right": { "type": "NullLiteral", "start": 4477, "end": 4481, "loc": { "start": { "line": 158, "column": 38 }, "end": { "line": 158, "column": 42 } } } }, { "type": "AssignmentPattern", "start": 4483, "end": 4498, "loc": { "start": { "line": 158, "column": 44 }, "end": { "line": 158, "column": 59 } }, "left": { "type": "Identifier", "start": 4483, "end": 4490, "loc": { "start": { "line": 158, "column": 44 }, "end": { "line": 158, "column": 51 }, "identifierName": "reverse" }, "name": "reverse" }, "right": { "type": "BooleanLiteral", "start": 4493, "end": 4498, "loc": { "start": { "line": 158, "column": 54 }, "end": { "line": 158, "column": 59 } }, "value": false } } ], "body": { "type": "BlockStatement", "start": 4500, "end": 8037, "loc": { "start": { "line": 158, "column": 61 }, "end": { "line": 282, "column": 1 } }, "body": [ { "type": "VariableDeclaration", "start": 4503, "end": 4536, "loc": { "start": { "line": 159, "column": 1 }, "end": { "line": 159, "column": 34 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4509, "end": 4535, "loc": { "start": { "line": 159, "column": 7 }, "end": { "line": 159, "column": 33 } }, "id": { "type": "Identifier", "start": 4509, "end": 4517, "loc": { "start": { "line": 159, "column": 7 }, "end": { "line": 159, "column": 15 }, "identifierName": "a_coords" }, "name": "a_coords" }, "init": { "type": "MemberExpression", "start": 4526, "end": 4535, "loc": { "start": { "line": 159, "column": 24 }, "end": { "line": 159, "column": 33 } }, "object": { "type": "Identifier", "start": 4526, "end": 4527, "loc": { "start": { "line": 159, "column": 24 }, "end": { "line": 159, "column": 25 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 4528, "end": 4535, "loc": { "start": { "line": 159, "column": 26 }, "end": { "line": 159, "column": 33 }, "identifierName": "_coords" }, "name": "_coords" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 4538, "end": 4570, "loc": { "start": { "line": 160, "column": 1 }, "end": { "line": 160, "column": 33 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4544, "end": 4569, "loc": { "start": { "line": 160, "column": 7 }, "end": { "line": 160, "column": 32 } }, "id": { "type": "Identifier", "start": 4544, "end": 4551, "loc": { "start": { "line": 160, "column": 7 }, "end": { "line": 160, "column": 14 }, "identifierName": "a_edges" }, "name": "a_edges" }, "init": { "type": "MemberExpression", "start": 4561, "end": 4569, "loc": { "start": { "line": 160, "column": 24 }, "end": { "line": 160, "column": 32 } }, "object": { "type": "Identifier", "start": 4561, "end": 4562, "loc": { "start": { "line": 160, "column": 24 }, "end": { "line": 160, "column": 25 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 4563, "end": 4569, "loc": { "start": { "line": 160, "column": 26 }, "end": { "line": 160, "column": 32 }, "identifierName": "_edges" }, "name": "_edges" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 4572, "end": 4606, "loc": { "start": { "line": 161, "column": 1 }, "end": { "line": 161, "column": 35 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4578, "end": 4605, "loc": { "start": { "line": 161, "column": 7 }, "end": { "line": 161, "column": 34 } }, "id": { "type": "Identifier", "start": 4578, "end": 4587, "loc": { "start": { "line": 161, "column": 7 }, "end": { "line": 161, "column": 16 }, "identifierName": "a_normals" }, "name": "a_normals" }, "init": { "type": "MemberExpression", "start": 4595, "end": 4605, "loc": { "start": { "line": 161, "column": 24 }, "end": { "line": 161, "column": 34 } }, "object": { "type": "Identifier", "start": 4595, "end": 4596, "loc": { "start": { "line": 161, "column": 24 }, "end": { "line": 161, "column": 25 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 4597, "end": 4605, "loc": { "start": { "line": 161, "column": 26 }, "end": { "line": 161, "column": 34 }, "identifierName": "_normals" }, "name": "_normals" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 4608, "end": 4635, "loc": { "start": { "line": 162, "column": 1 }, "end": { "line": 162, "column": 28 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4614, "end": 4634, "loc": { "start": { "line": 162, "column": 7 }, "end": { "line": 162, "column": 27 } }, "id": { "type": "Identifier", "start": 4614, "end": 4617, "loc": { "start": { "line": 162, "column": 7 }, "end": { "line": 162, "column": 10 }, "identifierName": "b_x" }, "name": "b_x" }, "init": { "type": "MemberExpression", "start": 4631, "end": 4634, "loc": { "start": { "line": 162, "column": 24 }, "end": { "line": 162, "column": 27 } }, "object": { "type": "Identifier", "start": 4631, "end": 4632, "loc": { "start": { "line": 162, "column": 24 }, "end": { "line": 162, "column": 25 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 4633, "end": 4634, "loc": { "start": { "line": 162, "column": 26 }, "end": { "line": 162, "column": 27 }, "identifierName": "x" }, "name": "x" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 4637, "end": 4664, "loc": { "start": { "line": 163, "column": 1 }, "end": { "line": 163, "column": 28 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4643, "end": 4663, "loc": { "start": { "line": 163, "column": 7 }, "end": { "line": 163, "column": 27 } }, "id": { "type": "Identifier", "start": 4643, "end": 4646, "loc": { "start": { "line": 163, "column": 7 }, "end": { "line": 163, "column": 10 }, "identifierName": "b_y" }, "name": "b_y" }, "init": { "type": "MemberExpression", "start": 4660, "end": 4663, "loc": { "start": { "line": 163, "column": 24 }, "end": { "line": 163, "column": 27 } }, "object": { "type": "Identifier", "start": 4660, "end": 4661, "loc": { "start": { "line": 163, "column": 24 }, "end": { "line": 163, "column": 25 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 4662, "end": 4663, "loc": { "start": { "line": 163, "column": 26 }, "end": { "line": 163, "column": 27 }, "identifierName": "y" }, "name": "y" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 4666, "end": 4708, "loc": { "start": { "line": 164, "column": 1 }, "end": { "line": 164, "column": 43 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4672, "end": 4707, "loc": { "start": { "line": 164, "column": 7 }, "end": { "line": 164, "column": 42 } }, "id": { "type": "Identifier", "start": 4672, "end": 4680, "loc": { "start": { "line": 164, "column": 7 }, "end": { "line": 164, "column": 15 }, "identifierName": "b_radius" }, "name": "b_radius" }, "init": { "type": "BinaryExpression", "start": 4689, "end": 4707, "loc": { "start": { "line": 164, "column": 24 }, "end": { "line": 164, "column": 42 } }, "left": { "type": "MemberExpression", "start": 4689, "end": 4697, "loc": { "start": { "line": 164, "column": 24 }, "end": { "line": 164, "column": 32 } }, "object": { "type": "Identifier", "start": 4689, "end": 4690, "loc": { "start": { "line": 164, "column": 24 }, "end": { "line": 164, "column": 25 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 4691, "end": 4697, "loc": { "start": { "line": 164, "column": 26 }, "end": { "line": 164, "column": 32 }, "identifierName": "radius" }, "name": "radius" }, "computed": false }, "operator": "*", "right": { "type": "MemberExpression", "start": 4700, "end": 4707, "loc": { "start": { "line": 164, "column": 35 }, "end": { "line": 164, "column": 42 } }, "object": { "type": "Identifier", "start": 4700, "end": 4701, "loc": { "start": { "line": 164, "column": 35 }, "end": { "line": 164, "column": 36 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 4702, "end": 4707, "loc": { "start": { "line": 164, "column": 37 }, "end": { "line": 164, "column": 42 }, "identifierName": "scale" }, "name": "scale" }, "computed": false } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 4710, "end": 4746, "loc": { "start": { "line": 165, "column": 1 }, "end": { "line": 165, "column": 37 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4716, "end": 4745, "loc": { "start": { "line": 165, "column": 7 }, "end": { "line": 165, "column": 36 } }, "id": { "type": "Identifier", "start": 4716, "end": 4725, "loc": { "start": { "line": 165, "column": 7 }, "end": { "line": 165, "column": 16 }, "identifierName": "b_radius2" }, "name": "b_radius2" }, "init": { "type": "BinaryExpression", "start": 4733, "end": 4745, "loc": { "start": { "line": 165, "column": 24 }, "end": { "line": 165, "column": 36 } }, "left": { "type": "Identifier", "start": 4733, "end": 4741, "loc": { "start": { "line": 165, "column": 24 }, "end": { "line": 165, "column": 32 }, "identifierName": "b_radius" }, "name": "b_radius" }, "operator": "*", "right": { "type": "NumericLiteral", "start": 4744, "end": 4745, "loc": { "start": { "line": 165, "column": 35 }, "end": { "line": 165, "column": 36 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 4748, "end": 4791, "loc": { "start": { "line": 166, "column": 1 }, "end": { "line": 166, "column": 44 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4754, "end": 4790, "loc": { "start": { "line": 166, "column": 7 }, "end": { "line": 166, "column": 43 } }, "id": { "type": "Identifier", "start": 4754, "end": 4768, "loc": { "start": { "line": 166, "column": 7 }, "end": { "line": 166, "column": 21 }, "identifierName": "radius_squared" }, "name": "radius_squared" }, "init": { "type": "BinaryExpression", "start": 4771, "end": 4790, "loc": { "start": { "line": 166, "column": 24 }, "end": { "line": 166, "column": 43 } }, "left": { "type": "Identifier", "start": 4771, "end": 4779, "loc": { "start": { "line": 166, "column": 24 }, "end": { "line": 166, "column": 32 }, "identifierName": "b_radius" }, "name": "b_radius" }, "operator": "*", "right": { "type": "Identifier", "start": 4782, "end": 4790, "loc": { "start": { "line": 166, "column": 35 }, "end": { "line": 166, "column": 43 }, "identifierName": "b_radius" }, "name": "b_radius" } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 4793, "end": 4832, "loc": { "start": { "line": 167, "column": 1 }, "end": { "line": 167, "column": 40 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4799, "end": 4831, "loc": { "start": { "line": 167, "column": 7 }, "end": { "line": 167, "column": 39 } }, "id": { "type": "Identifier", "start": 4799, "end": 4804, "loc": { "start": { "line": 167, "column": 7 }, "end": { "line": 167, "column": 12 }, "identifierName": "count" }, "name": "count" }, "init": { "type": "MemberExpression", "start": 4816, "end": 4831, "loc": { "start": { "line": 167, "column": 24 }, "end": { "line": 167, "column": 39 } }, "object": { "type": "Identifier", "start": 4816, "end": 4824, "loc": { "start": { "line": 167, "column": 24 }, "end": { "line": 167, "column": 32 }, "identifierName": "a_coords" }, "name": "a_coords" }, "property": { "type": "Identifier", "start": 4825, "end": 4831, "loc": { "start": { "line": 167, "column": 33 }, "end": { "line": 167, "column": 39 }, "identifierName": "length" }, "name": "length" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 4835, "end": 4856, "loc": { "start": { "line": 169, "column": 1 }, "end": { "line": 169, "column": 22 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4839, "end": 4855, "loc": { "start": { "line": 169, "column": 5 }, "end": { "line": 169, "column": 21 } }, "id": { "type": "Identifier", "start": 4839, "end": 4845, "loc": { "start": { "line": 169, "column": 5 }, "end": { "line": 169, "column": 11 }, "identifierName": "a_in_b" }, "name": "a_in_b" }, "init": { "type": "BooleanLiteral", "start": 4851, "end": 4855, "loc": { "start": { "line": 169, "column": 17 }, "end": { "line": 169, "column": 21 } }, "value": true } } ], "kind": "let" }, { "type": "VariableDeclaration", "start": 4858, "end": 4879, "loc": { "start": { "line": 170, "column": 1 }, "end": { "line": 170, "column": 22 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4862, "end": 4878, "loc": { "start": { "line": 170, "column": 5 }, "end": { "line": 170, "column": 21 } }, "id": { "type": "Identifier", "start": 4862, "end": 4868, "loc": { "start": { "line": 170, "column": 5 }, "end": { "line": 170, "column": 11 }, "identifierName": "b_in_a" }, "name": "b_in_a" }, "init": { "type": "BooleanLiteral", "start": 4874, "end": 4878, "loc": { "start": { "line": 170, "column": 17 }, "end": { "line": 170, "column": 21 } }, "value": true } } ], "kind": "let" }, { "type": "VariableDeclaration", "start": 4881, "end": 4902, "loc": { "start": { "line": 171, "column": 1 }, "end": { "line": 171, "column": 22 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4885, "end": 4901, "loc": { "start": { "line": 171, "column": 5 }, "end": { "line": 171, "column": 21 } }, "id": { "type": "Identifier", "start": 4885, "end": 4892, "loc": { "start": { "line": 171, "column": 5 }, "end": { "line": 171, "column": 12 }, "identifierName": "overlap" }, "name": "overlap" }, "init": { "type": "NullLiteral", "start": 4897, "end": 4901, "loc": { "start": { "line": 171, "column": 17 }, "end": { "line": 171, "column": 21 } } } } ], "kind": "let" }, { "type": "VariableDeclaration", "start": 4904, "end": 4922, "loc": { "start": { "line": 172, "column": 1 }, "end": { "line": 172, "column": 19 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4908, "end": 4921, "loc": { "start": { "line": 172, "column": 5 }, "end": { "line": 172, "column": 18 } }, "id": { "type": "Identifier", "start": 4908, "end": 4917, "loc": { "start": { "line": 172, "column": 5 }, "end": { "line": 172, "column": 14 }, "identifierName": "overlap_x" }, "name": "overlap_x" }, "init": { "type": "NumericLiteral", "start": 4920, "end": 4921, "loc": { "start": { "line": 172, "column": 17 }, "end": { "line": 172, "column": 18 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "kind": "let" }, { "type": "VariableDeclaration", "start": 4924, "end": 4942, "loc": { "start": { "line": 173, "column": 1 }, "end": { "line": 173, "column": 19 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4928, "end": 4941, "loc": { "start": { "line": 173, "column": 5 }, "end": { "line": 173, "column": 18 } }, "id": { "type": "Identifier", "start": 4928, "end": 4937, "loc": { "start": { "line": 173, "column": 5 }, "end": { "line": 173, "column": 14 }, "identifierName": "overlap_y" }, "name": "overlap_y" }, "init": { "type": "NumericLiteral", "start": 4940, "end": 4941, "loc": { "start": { "line": 173, "column": 17 }, "end": { "line": 173, "column": 18 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "kind": "let", "trailingComments": [ { "type": "CommentLine", "value": " Handle points specially", "start": 4945, "end": 4971, "loc": { "start": { "line": 175, "column": 1 }, "end": { "line": 175, "column": 27 } } } ] }, { "type": "IfStatement", "start": 4973, "end": 7766, "loc": { "start": { "line": 176, "column": 1 }, "end": { "line": 271, "column": 2 } }, "test": { "type": "BinaryExpression", "start": 4976, "end": 4987, "loc": { "start": { "line": 176, "column": 4 }, "end": { "line": 176, "column": 15 } }, "left": { "type": "Identifier", "start": 4976, "end": 4981, "loc": { "start": { "line": 176, "column": 4 }, "end": { "line": 176, "column": 9 }, "identifierName": "count" }, "name": "count", "leadingComments": null }, "operator": "===", "right": { "type": "NumericLiteral", "start": 4986, "end": 4987, "loc": { "start": { "line": 176, "column": 14 }, "end": { "line": 176, "column": 15 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 }, "leadingComments": null }, "consequent": { "type": "BlockStatement", "start": 4989, "end": 5395, "loc": { "start": { "line": 176, "column": 17 }, "end": { "line": 193, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 4993, "end": 5034, "loc": { "start": { "line": 177, "column": 2 }, "end": { "line": 177, "column": 43 } }, "declarations": [ { "type": "VariableDeclarator", "start": 4999, "end": 5033, "loc": { "start": { "line": 177, "column": 8 }, "end": { "line": 177, "column": 42 } }, "id": { "type": "Identifier", "start": 4999, "end": 5006, "loc": { "start": { "line": 177, "column": 8 }, "end": { "line": 177, "column": 15 }, "identifierName": "coord_x" }, "name": "coord_x" }, "init": { "type": "BinaryExpression", "start": 5016, "end": 5033, "loc": { "start": { "line": 177, "column": 25 }, "end": { "line": 177, "column": 42 } }, "left": { "type": "Identifier", "start": 5016, "end": 5019, "loc": { "start": { "line": 177, "column": 25 }, "end": { "line": 177, "column": 28 }, "identifierName": "b_x" }, "name": "b_x" }, "operator": "-", "right": { "type": "MemberExpression", "start": 5022, "end": 5033, "loc": { "start": { "line": 177, "column": 31 }, "end": { "line": 177, "column": 42 } }, "object": { "type": "Identifier", "start": 5022, "end": 5030, "loc": { "start": { "line": 177, "column": 31 }, "end": { "line": 177, "column": 39 }, "identifierName": "a_coords" }, "name": "a_coords" }, "property": { "type": "NumericLiteral", "start": 5031, "end": 5032, "loc": { "start": { "line": 177, "column": 40 }, "end": { "line": 177, "column": 41 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "computed": true } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 5037, "end": 5078, "loc": { "start": { "line": 178, "column": 2 }, "end": { "line": 178, "column": 43 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5043, "end": 5077, "loc": { "start": { "line": 178, "column": 8 }, "end": { "line": 178, "column": 42 } }, "id": { "type": "Identifier", "start": 5043, "end": 5050, "loc": { "start": { "line": 178, "column": 8 }, "end": { "line": 178, "column": 15 }, "identifierName": "coord_y" }, "name": "coord_y" }, "init": { "type": "BinaryExpression", "start": 5060, "end": 5077, "loc": { "start": { "line": 178, "column": 25 }, "end": { "line": 178, "column": 42 } }, "left": { "type": "Identifier", "start": 5060, "end": 5063, "loc": { "start": { "line": 178, "column": 25 }, "end": { "line": 178, "column": 28 }, "identifierName": "b_y" }, "name": "b_y" }, "operator": "-", "right": { "type": "MemberExpression", "start": 5066, "end": 5077, "loc": { "start": { "line": 178, "column": 31 }, "end": { "line": 178, "column": 42 } }, "object": { "type": "Identifier", "start": 5066, "end": 5074, "loc": { "start": { "line": 178, "column": 31 }, "end": { "line": 178, "column": 39 }, "identifierName": "a_coords" }, "name": "a_coords" }, "property": { "type": "NumericLiteral", "start": 5075, "end": 5076, "loc": { "start": { "line": 178, "column": 40 }, "end": { "line": 178, "column": 41 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, "computed": true } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 5081, "end": 5142, "loc": { "start": { "line": 179, "column": 2 }, "end": { "line": 179, "column": 63 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5087, "end": 5141, "loc": { "start": { "line": 179, "column": 8 }, "end": { "line": 179, "column": 62 } }, "id": { "type": "Identifier", "start": 5087, "end": 5101, "loc": { "start": { "line": 179, "column": 8 }, "end": { "line": 179, "column": 22 }, "identifierName": "length_squared" }, "name": "length_squared" }, "init": { "type": "BinaryExpression", "start": 5104, "end": 5141, "loc": { "start": { "line": 179, "column": 25 }, "end": { "line": 179, "column": 62 } }, "left": { "type": "BinaryExpression", "start": 5104, "end": 5121, "loc": { "start": { "line": 179, "column": 25 }, "end": { "line": 179, "column": 42 } }, "left": { "type": "Identifier", "start": 5104, "end": 5111, "loc": { "start": { "line": 179, "column": 25 }, "end": { "line": 179, "column": 32 }, "identifierName": "coord_x" }, "name": "coord_x" }, "operator": "*", "right": { "type": "Identifier", "start": 5114, "end": 5121, "loc": { "start": { "line": 179, "column": 35 }, "end": { "line": 179, "column": 42 }, "identifierName": "coord_x" }, "name": "coord_x" } }, "operator": "+", "right": { "type": "BinaryExpression", "start": 5124, "end": 5141, "loc": { "start": { "line": 179, "column": 45 }, "end": { "line": 179, "column": 62 } }, "left": { "type": "Identifier", "start": 5124, "end": 5131, "loc": { "start": { "line": 179, "column": 45 }, "end": { "line": 179, "column": 52 }, "identifierName": "coord_y" }, "name": "coord_y" }, "operator": "*", "right": { "type": "Identifier", "start": 5134, "end": 5141, "loc": { "start": { "line": 179, "column": 55 }, "end": { "line": 179, "column": 62 }, "identifierName": "coord_y" }, "name": "coord_y" } } } } ], "kind": "const" }, { "type": "IfStatement", "start": 5146, "end": 5204, "loc": { "start": { "line": 181, "column": 2 }, "end": { "line": 183, "column": 3 } }, "test": { "type": "BinaryExpression", "start": 5149, "end": 5180, "loc": { "start": { "line": 181, "column": 5 }, "end": { "line": 181, "column": 36 } }, "left": { "type": "Identifier", "start": 5149, "end": 5163, "loc": { "start": { "line": 181, "column": 5 }, "end": { "line": 181, "column": 19 }, "identifierName": "length_squared" }, "name": "length_squared" }, "operator": ">", "right": { "type": "Identifier", "start": 5166, "end": 5180, "loc": { "start": { "line": 181, "column": 22 }, "end": { "line": 181, "column": 36 }, "identifierName": "radius_squared" }, "name": "radius_squared" } }, "consequent": { "type": "BlockStatement", "start": 5182, "end": 5204, "loc": { "start": { "line": 181, "column": 38 }, "end": { "line": 183, "column": 3 } }, "body": [ { "type": "ReturnStatement", "start": 5187, "end": 5200, "loc": { "start": { "line": 182, "column": 3 }, "end": { "line": 182, "column": 16 } }, "argument": { "type": "BooleanLiteral", "start": 5194, "end": 5199, "loc": { "start": { "line": 182, "column": 10 }, "end": { "line": 182, "column": 15 } }, "value": false } } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 5208, "end": 5392, "loc": { "start": { "line": 185, "column": 2 }, "end": { "line": 192, "column": 3 } }, "test": { "type": "Identifier", "start": 5211, "end": 5217, "loc": { "start": { "line": 185, "column": 5 }, "end": { "line": 185, "column": 11 }, "identifierName": "result" }, "name": "result" }, "consequent": { "type": "BlockStatement", "start": 5219, "end": 5392, "loc": { "start": { "line": 185, "column": 13 }, "end": { "line": 192, "column": 3 } }, "body": [ { "type": "VariableDeclaration", "start": 5224, "end": 5265, "loc": { "start": { "line": 186, "column": 3 }, "end": { "line": 186, "column": 44 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5230, "end": 5264, "loc": { "start": { "line": 186, "column": 9 }, "end": { "line": 186, "column": 43 } }, "id": { "type": "Identifier", "start": 5230, "end": 5236, "loc": { "start": { "line": 186, "column": 9 }, "end": { "line": 186, "column": 15 }, "identifierName": "length" }, "name": "length" }, "init": { "type": "CallExpression", "start": 5239, "end": 5264, "loc": { "start": { "line": 186, "column": 18 }, "end": { "line": 186, "column": 43 } }, "callee": { "type": "MemberExpression", "start": 5239, "end": 5248, "loc": { "start": { "line": 186, "column": 18 }, "end": { "line": 186, "column": 27 } }, "object": { "type": "Identifier", "start": 5239, "end": 5243, "loc": { "start": { "line": 186, "column": 18 }, "end": { "line": 186, "column": 22 }, "identifierName": "Math" }, "name": "Math" }, "property": { "type": "Identifier", "start": 5244, "end": 5248, "loc": { "start": { "line": 186, "column": 23 }, "end": { "line": 186, "column": 27 }, "identifierName": "sqrt" }, "name": "sqrt" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 5249, "end": 5263, "loc": { "start": { "line": 186, "column": 28 }, "end": { "line": 186, "column": 42 }, "identifierName": "length_squared" }, "name": "length_squared" } ] } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 5270, "end": 5300, "loc": { "start": { "line": 188, "column": 3 }, "end": { "line": 188, "column": 33 } }, "expression": { "type": "AssignmentExpression", "start": 5270, "end": 5299, "loc": { "start": { "line": 188, "column": 3 }, "end": { "line": 188, "column": 32 } }, "operator": "=", "left": { "type": "Identifier", "start": 5270, "end": 5277, "loc": { "start": { "line": 188, "column": 3 }, "end": { "line": 188, "column": 10 }, "identifierName": "overlap" }, "name": "overlap" }, "right": { "type": "BinaryExpression", "start": 5282, "end": 5299, "loc": { "start": { "line": 188, "column": 15 }, "end": { "line": 188, "column": 32 } }, "left": { "type": "Identifier", "start": 5282, "end": 5290, "loc": { "start": { "line": 188, "column": 15 }, "end": { "line": 188, "column": 23 }, "identifierName": "b_radius" }, "name": "b_radius" }, "operator": "-", "right": { "type": "Identifier", "start": 5293, "end": 5299, "loc": { "start": { "line": 188, "column": 26 }, "end": { "line": 188, "column": 32 }, "identifierName": "length" }, "name": "length" } } } }, { "type": "ExpressionStatement", "start": 5304, "end": 5333, "loc": { "start": { "line": 189, "column": 3 }, "end": { "line": 189, "column": 32 } }, "expression": { "type": "AssignmentExpression", "start": 5304, "end": 5332, "loc": { "start": { "line": 189, "column": 3 }, "end": { "line": 189, "column": 31 } }, "operator": "=", "left": { "type": "Identifier", "start": 5304, "end": 5313, "loc": { "start": { "line": 189, "column": 3 }, "end": { "line": 189, "column": 12 }, "identifierName": "overlap_x" }, "name": "overlap_x" }, "right": { "type": "BinaryExpression", "start": 5316, "end": 5332, "loc": { "start": { "line": 189, "column": 15 }, "end": { "line": 189, "column": 31 } }, "left": { "type": "Identifier", "start": 5316, "end": 5323, "loc": { "start": { "line": 189, "column": 15 }, "end": { "line": 189, "column": 22 }, "identifierName": "coord_x" }, "name": "coord_x" }, "operator": "/", "right": { "type": "Identifier", "start": 5326, "end": 5332, "loc": { "start": { "line": 189, "column": 25 }, "end": { "line": 189, "column": 31 }, "identifierName": "length" }, "name": "length" } } } }, { "type": "ExpressionStatement", "start": 5337, "end": 5366, "loc": { "start": { "line": 190, "column": 3 }, "end": { "line": 190, "column": 32 } }, "expression": { "type": "AssignmentExpression", "start": 5337, "end": 5365, "loc": { "start": { "line": 190, "column": 3 }, "end": { "line": 190, "column": 31 } }, "operator": "=", "left": { "type": "Identifier", "start": 5337, "end": 5346, "loc": { "start": { "line": 190, "column": 3 }, "end": { "line": 190, "column": 12 }, "identifierName": "overlap_y" }, "name": "overlap_y" }, "right": { "type": "BinaryExpression", "start": 5349, "end": 5365, "loc": { "start": { "line": 190, "column": 15 }, "end": { "line": 190, "column": 31 } }, "left": { "type": "Identifier", "start": 5349, "end": 5356, "loc": { "start": { "line": 190, "column": 15 }, "end": { "line": 190, "column": 22 }, "identifierName": "coord_y" }, "name": "coord_y" }, "operator": "/", "right": { "type": "Identifier", "start": 5359, "end": 5365, "loc": { "start": { "line": 190, "column": 25 }, "end": { "line": 190, "column": 31 }, "identifierName": "length" }, "name": "length" } } } }, { "type": "ExpressionStatement", "start": 5370, "end": 5388, "loc": { "start": { "line": 191, "column": 3 }, "end": { "line": 191, "column": 21 } }, "expression": { "type": "AssignmentExpression", "start": 5370, "end": 5387, "loc": { "start": { "line": 191, "column": 3 }, "end": { "line": 191, "column": 20 } }, "operator": "=", "left": { "type": "Identifier", "start": 5370, "end": 5376, "loc": { "start": { "line": 191, "column": 3 }, "end": { "line": 191, "column": 9 }, "identifierName": "b_in_a" }, "name": "b_in_a" }, "right": { "type": "BooleanLiteral", "start": 5382, "end": 5387, "loc": { "start": { "line": 191, "column": 15 }, "end": { "line": 191, "column": 20 } }, "value": false } } } ], "directives": [] }, "alternate": null } ], "directives": [] }, "alternate": { "type": "BlockStatement", "start": 5402, "end": 7766, "loc": { "start": { "line": 194, "column": 6 }, "end": { "line": 271, "column": 2 } }, "body": [ { "type": "ForStatement", "start": 5406, "end": 7763, "loc": { "start": { "line": 195, "column": 2 }, "end": { "line": 270, "column": 3 } }, "init": { "type": "VariableDeclaration", "start": 5410, "end": 5428, "loc": { "start": { "line": 195, "column": 6 }, "end": { "line": 195, "column": 24 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5414, "end": 5420, "loc": { "start": { "line": 195, "column": 10 }, "end": { "line": 195, "column": 16 } }, "id": { "type": "Identifier", "start": 5414, "end": 5416, "loc": { "start": { "line": 195, "column": 10 }, "end": { "line": 195, "column": 12 }, "identifierName": "ix" }, "name": "ix" }, "init": { "type": "NumericLiteral", "start": 5419, "end": 5420, "loc": { "start": { "line": 195, "column": 15 }, "end": { "line": 195, "column": 16 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "VariableDeclarator", "start": 5422, "end": 5428, "loc": { "start": { "line": 195, "column": 18 }, "end": { "line": 195, "column": 24 } }, "id": { "type": "Identifier", "start": 5422, "end": 5424, "loc": { "start": { "line": 195, "column": 18 }, "end": { "line": 195, "column": 20 }, "identifierName": "iy" }, "name": "iy" }, "init": { "type": "NumericLiteral", "start": 5427, "end": 5428, "loc": { "start": { "line": 195, "column": 23 }, "end": { "line": 195, "column": 24 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } } ], "kind": "let" }, "test": { "type": "BinaryExpression", "start": 5430, "end": 5440, "loc": { "start": { "line": 195, "column": 26 }, "end": { "line": 195, "column": 36 } }, "left": { "type": "Identifier", "start": 5430, "end": 5432, "loc": { "start": { "line": 195, "column": 26 }, "end": { "line": 195, "column": 28 }, "identifierName": "ix" }, "name": "ix" }, "operator": "<", "right": { "type": "Identifier", "start": 5435, "end": 5440, "loc": { "start": { "line": 195, "column": 31 }, "end": { "line": 195, "column": 36 }, "identifierName": "count" }, "name": "count" } }, "update": { "type": "SequenceExpression", "start": 5442, "end": 5458, "loc": { "start": { "line": 195, "column": 38 }, "end": { "line": 195, "column": 54 } }, "expressions": [ { "type": "AssignmentExpression", "start": 5442, "end": 5449, "loc": { "start": { "line": 195, "column": 38 }, "end": { "line": 195, "column": 45 } }, "operator": "+=", "left": { "type": "Identifier", "start": 5442, "end": 5444, "loc": { "start": { "line": 195, "column": 38 }, "end": { "line": 195, "column": 40 }, "identifierName": "ix" }, "name": "ix" }, "right": { "type": "NumericLiteral", "start": 5448, "end": 5449, "loc": { "start": { "line": 195, "column": 44 }, "end": { "line": 195, "column": 45 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, { "type": "AssignmentExpression", "start": 5451, "end": 5458, "loc": { "start": { "line": 195, "column": 47 }, "end": { "line": 195, "column": 54 } }, "operator": "+=", "left": { "type": "Identifier", "start": 5451, "end": 5453, "loc": { "start": { "line": 195, "column": 47 }, "end": { "line": 195, "column": 49 }, "identifierName": "iy" }, "name": "iy" }, "right": { "type": "NumericLiteral", "start": 5457, "end": 5458, "loc": { "start": { "line": 195, "column": 53 }, "end": { "line": 195, "column": 54 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } } ] }, "body": { "type": "BlockStatement", "start": 5460, "end": 7763, "loc": { "start": { "line": 195, "column": 56 }, "end": { "line": 270, "column": 3 } }, "body": [ { "type": "VariableDeclaration", "start": 5465, "end": 5500, "loc": { "start": { "line": 196, "column": 3 }, "end": { "line": 196, "column": 38 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5471, "end": 5499, "loc": { "start": { "line": 196, "column": 9 }, "end": { "line": 196, "column": 37 } }, "id": { "type": "Identifier", "start": 5471, "end": 5478, "loc": { "start": { "line": 196, "column": 9 }, "end": { "line": 196, "column": 16 }, "identifierName": "coord_x" }, "name": "coord_x" }, "init": { "type": "BinaryExpression", "start": 5481, "end": 5499, "loc": { "start": { "line": 196, "column": 19 }, "end": { "line": 196, "column": 37 } }, "left": { "type": "Identifier", "start": 5481, "end": 5484, "loc": { "start": { "line": 196, "column": 19 }, "end": { "line": 196, "column": 22 }, "identifierName": "b_x" }, "name": "b_x" }, "operator": "-", "right": { "type": "MemberExpression", "start": 5487, "end": 5499, "loc": { "start": { "line": 196, "column": 25 }, "end": { "line": 196, "column": 37 } }, "object": { "type": "Identifier", "start": 5487, "end": 5495, "loc": { "start": { "line": 196, "column": 25 }, "end": { "line": 196, "column": 33 }, "identifierName": "a_coords" }, "name": "a_coords" }, "property": { "type": "Identifier", "start": 5496, "end": 5498, "loc": { "start": { "line": 196, "column": 34 }, "end": { "line": 196, "column": 36 }, "identifierName": "ix" }, "name": "ix" }, "computed": true } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 5504, "end": 5539, "loc": { "start": { "line": 197, "column": 3 }, "end": { "line": 197, "column": 38 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5510, "end": 5538, "loc": { "start": { "line": 197, "column": 9 }, "end": { "line": 197, "column": 37 } }, "id": { "type": "Identifier", "start": 5510, "end": 5517, "loc": { "start": { "line": 197, "column": 9 }, "end": { "line": 197, "column": 16 }, "identifierName": "coord_y" }, "name": "coord_y" }, "init": { "type": "BinaryExpression", "start": 5520, "end": 5538, "loc": { "start": { "line": 197, "column": 19 }, "end": { "line": 197, "column": 37 } }, "left": { "type": "Identifier", "start": 5520, "end": 5523, "loc": { "start": { "line": 197, "column": 19 }, "end": { "line": 197, "column": 22 }, "identifierName": "b_y" }, "name": "b_y" }, "operator": "-", "right": { "type": "MemberExpression", "start": 5526, "end": 5538, "loc": { "start": { "line": 197, "column": 25 }, "end": { "line": 197, "column": 37 } }, "object": { "type": "Identifier", "start": 5526, "end": 5534, "loc": { "start": { "line": 197, "column": 25 }, "end": { "line": 197, "column": 33 }, "identifierName": "a_coords" }, "name": "a_coords" }, "property": { "type": "Identifier", "start": 5535, "end": 5537, "loc": { "start": { "line": 197, "column": 34 }, "end": { "line": 197, "column": 36 }, "identifierName": "iy" }, "name": "iy" }, "computed": true } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 5543, "end": 5571, "loc": { "start": { "line": 198, "column": 3 }, "end": { "line": 198, "column": 31 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5549, "end": 5570, "loc": { "start": { "line": 198, "column": 9 }, "end": { "line": 198, "column": 30 } }, "id": { "type": "Identifier", "start": 5549, "end": 5555, "loc": { "start": { "line": 198, "column": 9 }, "end": { "line": 198, "column": 15 }, "identifierName": "edge_x" }, "name": "edge_x" }, "init": { "type": "MemberExpression", "start": 5559, "end": 5570, "loc": { "start": { "line": 198, "column": 19 }, "end": { "line": 198, "column": 30 } }, "object": { "type": "Identifier", "start": 5559, "end": 5566, "loc": { "start": { "line": 198, "column": 19 }, "end": { "line": 198, "column": 26 }, "identifierName": "a_edges" }, "name": "a_edges" }, "property": { "type": "Identifier", "start": 5567, "end": 5569, "loc": { "start": { "line": 198, "column": 27 }, "end": { "line": 198, "column": 29 }, "identifierName": "ix" }, "name": "ix" }, "computed": true } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 5575, "end": 5603, "loc": { "start": { "line": 199, "column": 3 }, "end": { "line": 199, "column": 31 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5581, "end": 5602, "loc": { "start": { "line": 199, "column": 9 }, "end": { "line": 199, "column": 30 } }, "id": { "type": "Identifier", "start": 5581, "end": 5587, "loc": { "start": { "line": 199, "column": 9 }, "end": { "line": 199, "column": 15 }, "identifierName": "edge_y" }, "name": "edge_y" }, "init": { "type": "MemberExpression", "start": 5591, "end": 5602, "loc": { "start": { "line": 199, "column": 19 }, "end": { "line": 199, "column": 30 } }, "object": { "type": "Identifier", "start": 5591, "end": 5598, "loc": { "start": { "line": 199, "column": 19 }, "end": { "line": 199, "column": 26 }, "identifierName": "a_edges" }, "name": "a_edges" }, "property": { "type": "Identifier", "start": 5599, "end": 5601, "loc": { "start": { "line": 199, "column": 27 }, "end": { "line": 199, "column": 29 }, "identifierName": "iy" }, "name": "iy" }, "computed": true } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 5607, "end": 5659, "loc": { "start": { "line": 200, "column": 3 }, "end": { "line": 200, "column": 55 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5613, "end": 5658, "loc": { "start": { "line": 200, "column": 9 }, "end": { "line": 200, "column": 54 } }, "id": { "type": "Identifier", "start": 5613, "end": 5616, "loc": { "start": { "line": 200, "column": 9 }, "end": { "line": 200, "column": 12 }, "identifierName": "dot" }, "name": "dot" }, "init": { "type": "BinaryExpression", "start": 5623, "end": 5658, "loc": { "start": { "line": 200, "column": 19 }, "end": { "line": 200, "column": 54 } }, "left": { "type": "BinaryExpression", "start": 5623, "end": 5639, "loc": { "start": { "line": 200, "column": 19 }, "end": { "line": 200, "column": 35 } }, "left": { "type": "Identifier", "start": 5623, "end": 5630, "loc": { "start": { "line": 200, "column": 19 }, "end": { "line": 200, "column": 26 }, "identifierName": "coord_x" }, "name": "coord_x" }, "operator": "*", "right": { "type": "Identifier", "start": 5633, "end": 5639, "loc": { "start": { "line": 200, "column": 29 }, "end": { "line": 200, "column": 35 }, "identifierName": "edge_x" }, "name": "edge_x" } }, "operator": "+", "right": { "type": "BinaryExpression", "start": 5642, "end": 5658, "loc": { "start": { "line": 200, "column": 38 }, "end": { "line": 200, "column": 54 } }, "left": { "type": "Identifier", "start": 5642, "end": 5649, "loc": { "start": { "line": 200, "column": 38 }, "end": { "line": 200, "column": 45 }, "identifierName": "coord_y" }, "name": "coord_y" }, "operator": "*", "right": { "type": "Identifier", "start": 5652, "end": 5658, "loc": { "start": { "line": 200, "column": 48 }, "end": { "line": 200, "column": 54 }, "identifierName": "edge_y" }, "name": "edge_y" } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 5663, "end": 5742, "loc": { "start": { "line": 201, "column": 3 }, "end": { "line": 201, "column": 82 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5669, "end": 5741, "loc": { "start": { "line": 201, "column": 9 }, "end": { "line": 201, "column": 81 } }, "id": { "type": "Identifier", "start": 5669, "end": 5675, "loc": { "start": { "line": 201, "column": 9 }, "end": { "line": 201, "column": 15 }, "identifierName": "region" }, "name": "region" }, "init": { "type": "ConditionalExpression", "start": 5679, "end": 5741, "loc": { "start": { "line": 201, "column": 19 }, "end": { "line": 201, "column": 81 } }, "test": { "type": "BinaryExpression", "start": 5679, "end": 5686, "loc": { "start": { "line": 201, "column": 19 }, "end": { "line": 201, "column": 26 } }, "left": { "type": "Identifier", "start": 5679, "end": 5682, "loc": { "start": { "line": 201, "column": 19 }, "end": { "line": 201, "column": 22 }, "identifierName": "dot" }, "name": "dot" }, "operator": "<", "right": { "type": "NumericLiteral", "start": 5685, "end": 5686, "loc": { "start": { "line": 201, "column": 25 }, "end": { "line": 201, "column": 26 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, "consequent": { "type": "UnaryExpression", "start": 5689, "end": 5691, "loc": { "start": { "line": 201, "column": 29 }, "end": { "line": 201, "column": 31 } }, "operator": "-", "prefix": true, "argument": { "type": "NumericLiteral", "start": 5690, "end": 5691, "loc": { "start": { "line": 201, "column": 30 }, "end": { "line": 201, "column": 31 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, "extra": { "parenthesizedArgument": false } }, "alternate": { "type": "ConditionalExpression", "start": 5694, "end": 5741, "loc": { "start": { "line": 201, "column": 34 }, "end": { "line": 201, "column": 81 } }, "test": { "type": "BinaryExpression", "start": 5694, "end": 5733, "loc": { "start": { "line": 201, "column": 34 }, "end": { "line": 201, "column": 73 } }, "left": { "type": "Identifier", "start": 5694, "end": 5697, "loc": { "start": { "line": 201, "column": 34 }, "end": { "line": 201, "column": 37 }, "identifierName": "dot" }, "name": "dot" }, "operator": ">", "right": { "type": "BinaryExpression", "start": 5700, "end": 5733, "loc": { "start": { "line": 201, "column": 40 }, "end": { "line": 201, "column": 73 } }, "left": { "type": "BinaryExpression", "start": 5700, "end": 5715, "loc": { "start": { "line": 201, "column": 40 }, "end": { "line": 201, "column": 55 } }, "left": { "type": "Identifier", "start": 5700, "end": 5706, "loc": { "start": { "line": 201, "column": 40 }, "end": { "line": 201, "column": 46 }, "identifierName": "edge_x" }, "name": "edge_x" }, "operator": "*", "right": { "type": "Identifier", "start": 5709, "end": 5715, "loc": { "start": { "line": 201, "column": 49 }, "end": { "line": 201, "column": 55 }, "identifierName": "edge_x" }, "name": "edge_x" } }, "operator": "+", "right": { "type": "BinaryExpression", "start": 5718, "end": 5733, "loc": { "start": { "line": 201, "column": 58 }, "end": { "line": 201, "column": 73 } }, "left": { "type": "Identifier", "start": 5718, "end": 5724, "loc": { "start": { "line": 201, "column": 58 }, "end": { "line": 201, "column": 64 }, "identifierName": "edge_y" }, "name": "edge_y" }, "operator": "*", "right": { "type": "Identifier", "start": 5727, "end": 5733, "loc": { "start": { "line": 201, "column": 67 }, "end": { "line": 201, "column": 73 }, "identifierName": "edge_y" }, "name": "edge_y" } } } }, "consequent": { "type": "NumericLiteral", "start": 5736, "end": 5737, "loc": { "start": { "line": 201, "column": 76 }, "end": { "line": 201, "column": 77 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, "alternate": { "type": "NumericLiteral", "start": 5740, "end": 5741, "loc": { "start": { "line": 201, "column": 80 }, "end": { "line": 201, "column": 81 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 5747, "end": 5775, "loc": { "start": { "line": 203, "column": 3 }, "end": { "line": 203, "column": 31 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5751, "end": 5774, "loc": { "start": { "line": 203, "column": 7 }, "end": { "line": 203, "column": 30 } }, "id": { "type": "Identifier", "start": 5751, "end": 5766, "loc": { "start": { "line": 203, "column": 7 }, "end": { "line": 203, "column": 22 }, "identifierName": "tmp_overlapping" }, "name": "tmp_overlapping" }, "init": { "type": "BooleanLiteral", "start": 5769, "end": 5774, "loc": { "start": { "line": 203, "column": 25 }, "end": { "line": 203, "column": 30 } }, "value": false } } ], "kind": "let" }, { "type": "VariableDeclaration", "start": 5779, "end": 5803, "loc": { "start": { "line": 204, "column": 3 }, "end": { "line": 204, "column": 27 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5783, "end": 5802, "loc": { "start": { "line": 204, "column": 7 }, "end": { "line": 204, "column": 26 } }, "id": { "type": "Identifier", "start": 5783, "end": 5794, "loc": { "start": { "line": 204, "column": 7 }, "end": { "line": 204, "column": 18 }, "identifierName": "tmp_overlap" }, "name": "tmp_overlap" }, "init": { "type": "NumericLiteral", "start": 5801, "end": 5802, "loc": { "start": { "line": 204, "column": 25 }, "end": { "line": 204, "column": 26 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "kind": "let" }, { "type": "VariableDeclaration", "start": 5807, "end": 5831, "loc": { "start": { "line": 205, "column": 3 }, "end": { "line": 205, "column": 27 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5811, "end": 5830, "loc": { "start": { "line": 205, "column": 7 }, "end": { "line": 205, "column": 26 } }, "id": { "type": "Identifier", "start": 5811, "end": 5824, "loc": { "start": { "line": 205, "column": 7 }, "end": { "line": 205, "column": 20 }, "identifierName": "tmp_overlap_x" }, "name": "tmp_overlap_x" }, "init": { "type": "NumericLiteral", "start": 5829, "end": 5830, "loc": { "start": { "line": 205, "column": 25 }, "end": { "line": 205, "column": 26 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "kind": "let" }, { "type": "VariableDeclaration", "start": 5835, "end": 5859, "loc": { "start": { "line": 206, "column": 3 }, "end": { "line": 206, "column": 27 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5839, "end": 5858, "loc": { "start": { "line": 206, "column": 7 }, "end": { "line": 206, "column": 26 } }, "id": { "type": "Identifier", "start": 5839, "end": 5852, "loc": { "start": { "line": 206, "column": 7 }, "end": { "line": 206, "column": 20 }, "identifierName": "tmp_overlap_y" }, "name": "tmp_overlap_y" }, "init": { "type": "NumericLiteral", "start": 5857, "end": 5858, "loc": { "start": { "line": 206, "column": 25 }, "end": { "line": 206, "column": 26 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "kind": "let" }, { "type": "IfStatement", "start": 5864, "end": 5969, "loc": { "start": { "line": 208, "column": 3 }, "end": { "line": 210, "column": 4 } }, "test": { "type": "LogicalExpression", "start": 5867, "end": 5941, "loc": { "start": { "line": 208, "column": 6 }, "end": { "line": 208, "column": 80 } }, "left": { "type": "LogicalExpression", "start": 5867, "end": 5883, "loc": { "start": { "line": 208, "column": 6 }, "end": { "line": 208, "column": 22 } }, "left": { "type": "Identifier", "start": 5867, "end": 5873, "loc": { "start": { "line": 208, "column": 6 }, "end": { "line": 208, "column": 12 }, "identifierName": "result" }, "name": "result" }, "operator": "&&", "right": { "type": "Identifier", "start": 5877, "end": 5883, "loc": { "start": { "line": 208, "column": 16 }, "end": { "line": 208, "column": 22 }, "identifierName": "a_in_b" }, "name": "a_in_b" } }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 5887, "end": 5941, "loc": { "start": { "line": 208, "column": 26 }, "end": { "line": 208, "column": 80 } }, "left": { "type": "BinaryExpression", "start": 5887, "end": 5924, "loc": { "start": { "line": 208, "column": 26 }, "end": { "line": 208, "column": 63 } }, "left": { "type": "BinaryExpression", "start": 5887, "end": 5904, "loc": { "start": { "line": 208, "column": 26 }, "end": { "line": 208, "column": 43 } }, "left": { "type": "Identifier", "start": 5887, "end": 5894, "loc": { "start": { "line": 208, "column": 26 }, "end": { "line": 208, "column": 33 }, "identifierName": "coord_x" }, "name": "coord_x" }, "operator": "*", "right": { "type": "Identifier", "start": 5897, "end": 5904, "loc": { "start": { "line": 208, "column": 36 }, "end": { "line": 208, "column": 43 }, "identifierName": "coord_x" }, "name": "coord_x" } }, "operator": "+", "right": { "type": "BinaryExpression", "start": 5907, "end": 5924, "loc": { "start": { "line": 208, "column": 46 }, "end": { "line": 208, "column": 63 } }, "left": { "type": "Identifier", "start": 5907, "end": 5914, "loc": { "start": { "line": 208, "column": 46 }, "end": { "line": 208, "column": 53 }, "identifierName": "coord_y" }, "name": "coord_y" }, "operator": "*", "right": { "type": "Identifier", "start": 5917, "end": 5924, "loc": { "start": { "line": 208, "column": 56 }, "end": { "line": 208, "column": 63 }, "identifierName": "coord_y" }, "name": "coord_y" } } }, "operator": ">", "right": { "type": "Identifier", "start": 5927, "end": 5941, "loc": { "start": { "line": 208, "column": 66 }, "end": { "line": 208, "column": 80 }, "identifierName": "radius_squared" }, "name": "radius_squared" } } }, "consequent": { "type": "BlockStatement", "start": 5943, "end": 5969, "loc": { "start": { "line": 208, "column": 82 }, "end": { "line": 210, "column": 4 } }, "body": [ { "type": "ExpressionStatement", "start": 5949, "end": 5964, "loc": { "start": { "line": 209, "column": 4 }, "end": { "line": 209, "column": 19 } }, "expression": { "type": "AssignmentExpression", "start": 5949, "end": 5963, "loc": { "start": { "line": 209, "column": 4 }, "end": { "line": 209, "column": 18 } }, "operator": "=", "left": { "type": "Identifier", "start": 5949, "end": 5955, "loc": { "start": { "line": 209, "column": 4 }, "end": { "line": 209, "column": 10 }, "identifierName": "a_in_b" }, "name": "a_in_b" }, "right": { "type": "BooleanLiteral", "start": 5958, "end": 5963, "loc": { "start": { "line": 209, "column": 13 }, "end": { "line": 209, "column": 18 } }, "value": false } } } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 5974, "end": 7590, "loc": { "start": { "line": 212, "column": 3 }, "end": { "line": 263, "column": 4 } }, "test": { "type": "Identifier", "start": 5977, "end": 5983, "loc": { "start": { "line": 212, "column": 6 }, "end": { "line": 212, "column": 12 }, "identifierName": "region" }, "name": "region" }, "consequent": { "type": "BlockStatement", "start": 5985, "end": 7033, "loc": { "start": { "line": 212, "column": 14 }, "end": { "line": 242, "column": 4 } }, "body": [ { "type": "VariableDeclaration", "start": 5991, "end": 6022, "loc": { "start": { "line": 213, "column": 4 }, "end": { "line": 213, "column": 35 } }, "declarations": [ { "type": "VariableDeclarator", "start": 5997, "end": 6021, "loc": { "start": { "line": 213, "column": 10 }, "end": { "line": 213, "column": 34 } }, "id": { "type": "Identifier", "start": 5997, "end": 6001, "loc": { "start": { "line": 213, "column": 10 }, "end": { "line": 213, "column": 14 }, "identifierName": "left" }, "name": "left" }, "init": { "type": "BinaryExpression", "start": 6008, "end": 6021, "loc": { "start": { "line": 213, "column": 21 }, "end": { "line": 213, "column": 34 } }, "left": { "type": "Identifier", "start": 6008, "end": 6014, "loc": { "start": { "line": 213, "column": 21 }, "end": { "line": 213, "column": 27 }, "identifierName": "region" }, "name": "region" }, "operator": "===", "right": { "type": "UnaryExpression", "start": 6019, "end": 6021, "loc": { "start": { "line": 213, "column": 32 }, "end": { "line": 213, "column": 34 } }, "operator": "-", "prefix": true, "argument": { "type": "NumericLiteral", "start": 6020, "end": 6021, "loc": { "start": { "line": 213, "column": 33 }, "end": { "line": 213, "column": 34 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, "extra": { "parenthesizedArgument": false } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6027, "end": 6117, "loc": { "start": { "line": 214, "column": 4 }, "end": { "line": 214, "column": 94 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6033, "end": 6116, "loc": { "start": { "line": 214, "column": 10 }, "end": { "line": 214, "column": 93 } }, "id": { "type": "Identifier", "start": 6033, "end": 6040, "loc": { "start": { "line": 214, "column": 10 }, "end": { "line": 214, "column": 17 }, "identifierName": "other_x" }, "name": "other_x" }, "init": { "type": "ConditionalExpression", "start": 6044, "end": 6116, "loc": { "start": { "line": 214, "column": 21 }, "end": { "line": 214, "column": 93 } }, "test": { "type": "Identifier", "start": 6044, "end": 6048, "loc": { "start": { "line": 214, "column": 21 }, "end": { "line": 214, "column": 25 }, "identifierName": "left" }, "name": "left" }, "consequent": { "type": "ConditionalExpression", "start": 6052, "end": 6081, "loc": { "start": { "line": 214, "column": 29 }, "end": { "line": 214, "column": 58 } }, "test": { "type": "BinaryExpression", "start": 6052, "end": 6060, "loc": { "start": { "line": 214, "column": 29 }, "end": { "line": 214, "column": 37 } }, "left": { "type": "Identifier", "start": 6052, "end": 6054, "loc": { "start": { "line": 214, "column": 29 }, "end": { "line": 214, "column": 31 }, "identifierName": "ix" }, "name": "ix" }, "operator": "===", "right": { "type": "NumericLiteral", "start": 6059, "end": 6060, "loc": { "start": { "line": 214, "column": 36 }, "end": { "line": 214, "column": 37 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, "consequent": { "type": "BinaryExpression", "start": 6063, "end": 6072, "loc": { "start": { "line": 214, "column": 40 }, "end": { "line": 214, "column": 49 } }, "left": { "type": "Identifier", "start": 6063, "end": 6068, "loc": { "start": { "line": 214, "column": 40 }, "end": { "line": 214, "column": 45 }, "identifierName": "count" }, "name": "count" }, "operator": "-", "right": { "type": "NumericLiteral", "start": 6071, "end": 6072, "loc": { "start": { "line": 214, "column": 48 }, "end": { "line": 214, "column": 49 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, "alternate": { "type": "BinaryExpression", "start": 6075, "end": 6081, "loc": { "start": { "line": 214, "column": 52 }, "end": { "line": 214, "column": 58 } }, "left": { "type": "Identifier", "start": 6075, "end": 6077, "loc": { "start": { "line": 214, "column": 52 }, "end": { "line": 214, "column": 54 }, "identifierName": "ix" }, "name": "ix" }, "operator": "-", "right": { "type": "NumericLiteral", "start": 6080, "end": 6081, "loc": { "start": { "line": 214, "column": 57 }, "end": { "line": 214, "column": 58 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, "extra": { "parenthesized": true, "parenStart": 6051 } }, "alternate": { "type": "ConditionalExpression", "start": 6086, "end": 6115, "loc": { "start": { "line": 214, "column": 63 }, "end": { "line": 214, "column": 92 } }, "test": { "type": "BinaryExpression", "start": 6086, "end": 6102, "loc": { "start": { "line": 214, "column": 63 }, "end": { "line": 214, "column": 79 } }, "left": { "type": "Identifier", "start": 6086, "end": 6088, "loc": { "start": { "line": 214, "column": 63 }, "end": { "line": 214, "column": 65 }, "identifierName": "ix" }, "name": "ix" }, "operator": "===", "right": { "type": "BinaryExpression", "start": 6093, "end": 6102, "loc": { "start": { "line": 214, "column": 70 }, "end": { "line": 214, "column": 79 } }, "left": { "type": "Identifier", "start": 6093, "end": 6098, "loc": { "start": { "line": 214, "column": 70 }, "end": { "line": 214, "column": 75 }, "identifierName": "count" }, "name": "count" }, "operator": "-", "right": { "type": "NumericLiteral", "start": 6101, "end": 6102, "loc": { "start": { "line": 214, "column": 78 }, "end": { "line": 214, "column": 79 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } } }, "consequent": { "type": "NumericLiteral", "start": 6105, "end": 6106, "loc": { "start": { "line": 214, "column": 82 }, "end": { "line": 214, "column": 83 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, "alternate": { "type": "BinaryExpression", "start": 6109, "end": 6115, "loc": { "start": { "line": 214, "column": 86 }, "end": { "line": 214, "column": 92 } }, "left": { "type": "Identifier", "start": 6109, "end": 6111, "loc": { "start": { "line": 214, "column": 86 }, "end": { "line": 214, "column": 88 }, "identifierName": "ix" }, "name": "ix" }, "operator": "+", "right": { "type": "NumericLiteral", "start": 6114, "end": 6115, "loc": { "start": { "line": 214, "column": 91 }, "end": { "line": 214, "column": 92 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, "extra": { "parenthesized": true, "parenStart": 6085 } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6122, "end": 6151, "loc": { "start": { "line": 215, "column": 4 }, "end": { "line": 215, "column": 33 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6128, "end": 6150, "loc": { "start": { "line": 215, "column": 10 }, "end": { "line": 215, "column": 32 } }, "id": { "type": "Identifier", "start": 6128, "end": 6135, "loc": { "start": { "line": 215, "column": 10 }, "end": { "line": 215, "column": 17 }, "identifierName": "other_y" }, "name": "other_y" }, "init": { "type": "BinaryExpression", "start": 6139, "end": 6150, "loc": { "start": { "line": 215, "column": 21 }, "end": { "line": 215, "column": 32 } }, "left": { "type": "Identifier", "start": 6139, "end": 6146, "loc": { "start": { "line": 215, "column": 21 }, "end": { "line": 215, "column": 28 }, "identifierName": "other_x" }, "name": "other_x" }, "operator": "+", "right": { "type": "NumericLiteral", "start": 6149, "end": 6150, "loc": { "start": { "line": 215, "column": 31 }, "end": { "line": 215, "column": 32 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6156, "end": 6197, "loc": { "start": { "line": 216, "column": 4 }, "end": { "line": 216, "column": 45 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6162, "end": 6196, "loc": { "start": { "line": 216, "column": 10 }, "end": { "line": 216, "column": 44 } }, "id": { "type": "Identifier", "start": 6162, "end": 6170, "loc": { "start": { "line": 216, "column": 10 }, "end": { "line": 216, "column": 18 }, "identifierName": "coord2_x" }, "name": "coord2_x" }, "init": { "type": "BinaryExpression", "start": 6173, "end": 6196, "loc": { "start": { "line": 216, "column": 21 }, "end": { "line": 216, "column": 44 } }, "left": { "type": "Identifier", "start": 6173, "end": 6176, "loc": { "start": { "line": 216, "column": 21 }, "end": { "line": 216, "column": 24 }, "identifierName": "b_x" }, "name": "b_x" }, "operator": "-", "right": { "type": "MemberExpression", "start": 6179, "end": 6196, "loc": { "start": { "line": 216, "column": 27 }, "end": { "line": 216, "column": 44 } }, "object": { "type": "Identifier", "start": 6179, "end": 6187, "loc": { "start": { "line": 216, "column": 27 }, "end": { "line": 216, "column": 35 }, "identifierName": "a_coords" }, "name": "a_coords" }, "property": { "type": "Identifier", "start": 6188, "end": 6195, "loc": { "start": { "line": 216, "column": 36 }, "end": { "line": 216, "column": 43 }, "identifierName": "other_x" }, "name": "other_x" }, "computed": true } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6202, "end": 6243, "loc": { "start": { "line": 217, "column": 4 }, "end": { "line": 217, "column": 45 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6208, "end": 6242, "loc": { "start": { "line": 217, "column": 10 }, "end": { "line": 217, "column": 44 } }, "id": { "type": "Identifier", "start": 6208, "end": 6216, "loc": { "start": { "line": 217, "column": 10 }, "end": { "line": 217, "column": 18 }, "identifierName": "coord2_y" }, "name": "coord2_y" }, "init": { "type": "BinaryExpression", "start": 6219, "end": 6242, "loc": { "start": { "line": 217, "column": 21 }, "end": { "line": 217, "column": 44 } }, "left": { "type": "Identifier", "start": 6219, "end": 6222, "loc": { "start": { "line": 217, "column": 21 }, "end": { "line": 217, "column": 24 }, "identifierName": "b_y" }, "name": "b_y" }, "operator": "-", "right": { "type": "MemberExpression", "start": 6225, "end": 6242, "loc": { "start": { "line": 217, "column": 27 }, "end": { "line": 217, "column": 44 } }, "object": { "type": "Identifier", "start": 6225, "end": 6233, "loc": { "start": { "line": 217, "column": 27 }, "end": { "line": 217, "column": 35 }, "identifierName": "a_coords" }, "name": "a_coords" }, "property": { "type": "Identifier", "start": 6234, "end": 6241, "loc": { "start": { "line": 217, "column": 36 }, "end": { "line": 217, "column": 43 }, "identifierName": "other_y" }, "name": "other_y" }, "computed": true } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6248, "end": 6282, "loc": { "start": { "line": 218, "column": 4 }, "end": { "line": 218, "column": 38 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6254, "end": 6281, "loc": { "start": { "line": 218, "column": 10 }, "end": { "line": 218, "column": 37 } }, "id": { "type": "Identifier", "start": 6254, "end": 6261, "loc": { "start": { "line": 218, "column": 10 }, "end": { "line": 218, "column": 17 }, "identifierName": "edge2_x" }, "name": "edge2_x" }, "init": { "type": "MemberExpression", "start": 6265, "end": 6281, "loc": { "start": { "line": 218, "column": 21 }, "end": { "line": 218, "column": 37 } }, "object": { "type": "Identifier", "start": 6265, "end": 6272, "loc": { "start": { "line": 218, "column": 21 }, "end": { "line": 218, "column": 28 }, "identifierName": "a_edges" }, "name": "a_edges" }, "property": { "type": "Identifier", "start": 6273, "end": 6280, "loc": { "start": { "line": 218, "column": 29 }, "end": { "line": 218, "column": 36 }, "identifierName": "other_x" }, "name": "other_x" }, "computed": true } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6287, "end": 6321, "loc": { "start": { "line": 219, "column": 4 }, "end": { "line": 219, "column": 38 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6293, "end": 6320, "loc": { "start": { "line": 219, "column": 10 }, "end": { "line": 219, "column": 37 } }, "id": { "type": "Identifier", "start": 6293, "end": 6300, "loc": { "start": { "line": 219, "column": 10 }, "end": { "line": 219, "column": 17 }, "identifierName": "edge2_y" }, "name": "edge2_y" }, "init": { "type": "MemberExpression", "start": 6304, "end": 6320, "loc": { "start": { "line": 219, "column": 21 }, "end": { "line": 219, "column": 37 } }, "object": { "type": "Identifier", "start": 6304, "end": 6311, "loc": { "start": { "line": 219, "column": 21 }, "end": { "line": 219, "column": 28 }, "identifierName": "a_edges" }, "name": "a_edges" }, "property": { "type": "Identifier", "start": 6312, "end": 6319, "loc": { "start": { "line": 219, "column": 29 }, "end": { "line": 219, "column": 36 }, "identifierName": "other_y" }, "name": "other_y" }, "computed": true } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6326, "end": 6383, "loc": { "start": { "line": 220, "column": 4 }, "end": { "line": 220, "column": 61 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6332, "end": 6382, "loc": { "start": { "line": 220, "column": 10 }, "end": { "line": 220, "column": 60 } }, "id": { "type": "Identifier", "start": 6332, "end": 6336, "loc": { "start": { "line": 220, "column": 10 }, "end": { "line": 220, "column": 14 }, "identifierName": "dot2" }, "name": "dot2" }, "init": { "type": "BinaryExpression", "start": 6343, "end": 6382, "loc": { "start": { "line": 220, "column": 21 }, "end": { "line": 220, "column": 60 } }, "left": { "type": "BinaryExpression", "start": 6343, "end": 6361, "loc": { "start": { "line": 220, "column": 21 }, "end": { "line": 220, "column": 39 } }, "left": { "type": "Identifier", "start": 6343, "end": 6351, "loc": { "start": { "line": 220, "column": 21 }, "end": { "line": 220, "column": 29 }, "identifierName": "coord2_x" }, "name": "coord2_x" }, "operator": "*", "right": { "type": "Identifier", "start": 6354, "end": 6361, "loc": { "start": { "line": 220, "column": 32 }, "end": { "line": 220, "column": 39 }, "identifierName": "edge2_x" }, "name": "edge2_x" } }, "operator": "+", "right": { "type": "BinaryExpression", "start": 6364, "end": 6382, "loc": { "start": { "line": 220, "column": 42 }, "end": { "line": 220, "column": 60 } }, "left": { "type": "Identifier", "start": 6364, "end": 6372, "loc": { "start": { "line": 220, "column": 42 }, "end": { "line": 220, "column": 50 }, "identifierName": "coord2_y" }, "name": "coord2_y" }, "operator": "*", "right": { "type": "Identifier", "start": 6375, "end": 6382, "loc": { "start": { "line": 220, "column": 53 }, "end": { "line": 220, "column": 60 }, "identifierName": "edge2_y" }, "name": "edge2_y" } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6388, "end": 6474, "loc": { "start": { "line": 221, "column": 4 }, "end": { "line": 221, "column": 90 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6394, "end": 6473, "loc": { "start": { "line": 221, "column": 10 }, "end": { "line": 221, "column": 89 } }, "id": { "type": "Identifier", "start": 6394, "end": 6401, "loc": { "start": { "line": 221, "column": 10 }, "end": { "line": 221, "column": 17 }, "identifierName": "region2" }, "name": "region2" }, "init": { "type": "ConditionalExpression", "start": 6405, "end": 6473, "loc": { "start": { "line": 221, "column": 21 }, "end": { "line": 221, "column": 89 } }, "test": { "type": "BinaryExpression", "start": 6405, "end": 6413, "loc": { "start": { "line": 221, "column": 21 }, "end": { "line": 221, "column": 29 } }, "left": { "type": "Identifier", "start": 6405, "end": 6409, "loc": { "start": { "line": 221, "column": 21 }, "end": { "line": 221, "column": 25 }, "identifierName": "dot2" }, "name": "dot2" }, "operator": "<", "right": { "type": "NumericLiteral", "start": 6412, "end": 6413, "loc": { "start": { "line": 221, "column": 28 }, "end": { "line": 221, "column": 29 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, "consequent": { "type": "UnaryExpression", "start": 6416, "end": 6418, "loc": { "start": { "line": 221, "column": 32 }, "end": { "line": 221, "column": 34 } }, "operator": "-", "prefix": true, "argument": { "type": "NumericLiteral", "start": 6417, "end": 6418, "loc": { "start": { "line": 221, "column": 33 }, "end": { "line": 221, "column": 34 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, "extra": { "parenthesizedArgument": false } }, "alternate": { "type": "ConditionalExpression", "start": 6421, "end": 6473, "loc": { "start": { "line": 221, "column": 37 }, "end": { "line": 221, "column": 89 } }, "test": { "type": "BinaryExpression", "start": 6421, "end": 6465, "loc": { "start": { "line": 221, "column": 37 }, "end": { "line": 221, "column": 81 } }, "left": { "type": "Identifier", "start": 6421, "end": 6425, "loc": { "start": { "line": 221, "column": 37 }, "end": { "line": 221, "column": 41 }, "identifierName": "dot2" }, "name": "dot2" }, "operator": ">", "right": { "type": "BinaryExpression", "start": 6428, "end": 6465, "loc": { "start": { "line": 221, "column": 44 }, "end": { "line": 221, "column": 81 } }, "left": { "type": "BinaryExpression", "start": 6428, "end": 6445, "loc": { "start": { "line": 221, "column": 44 }, "end": { "line": 221, "column": 61 } }, "left": { "type": "Identifier", "start": 6428, "end": 6435, "loc": { "start": { "line": 221, "column": 44 }, "end": { "line": 221, "column": 51 }, "identifierName": "edge2_x" }, "name": "edge2_x" }, "operator": "*", "right": { "type": "Identifier", "start": 6438, "end": 6445, "loc": { "start": { "line": 221, "column": 54 }, "end": { "line": 221, "column": 61 }, "identifierName": "edge2_x" }, "name": "edge2_x" } }, "operator": "+", "right": { "type": "BinaryExpression", "start": 6448, "end": 6465, "loc": { "start": { "line": 221, "column": 64 }, "end": { "line": 221, "column": 81 } }, "left": { "type": "Identifier", "start": 6448, "end": 6455, "loc": { "start": { "line": 221, "column": 64 }, "end": { "line": 221, "column": 71 }, "identifierName": "edge2_y" }, "name": "edge2_y" }, "operator": "*", "right": { "type": "Identifier", "start": 6458, "end": 6465, "loc": { "start": { "line": 221, "column": 74 }, "end": { "line": 221, "column": 81 }, "identifierName": "edge2_y" }, "name": "edge2_y" } } } }, "consequent": { "type": "NumericLiteral", "start": 6468, "end": 6469, "loc": { "start": { "line": 221, "column": 84 }, "end": { "line": 221, "column": 85 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, "alternate": { "type": "NumericLiteral", "start": 6472, "end": 6473, "loc": { "start": { "line": 221, "column": 88 }, "end": { "line": 221, "column": 89 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } } } ], "kind": "const" }, { "type": "IfStatement", "start": 6480, "end": 7028, "loc": { "start": { "line": 223, "column": 4 }, "end": { "line": 241, "column": 5 } }, "test": { "type": "BinaryExpression", "start": 6483, "end": 6502, "loc": { "start": { "line": 223, "column": 7 }, "end": { "line": 223, "column": 26 } }, "left": { "type": "Identifier", "start": 6483, "end": 6490, "loc": { "start": { "line": 223, "column": 7 }, "end": { "line": 223, "column": 14 }, "identifierName": "region2" }, "name": "region2" }, "operator": "===", "right": { "type": "UnaryExpression", "start": 6495, "end": 6502, "loc": { "start": { "line": 223, "column": 19 }, "end": { "line": 223, "column": 26 } }, "operator": "-", "prefix": true, "argument": { "type": "Identifier", "start": 6496, "end": 6502, "loc": { "start": { "line": 223, "column": 20 }, "end": { "line": 223, "column": 26 }, "identifierName": "region" }, "name": "region" }, "extra": { "parenthesizedArgument": false } } }, "consequent": { "type": "BlockStatement", "start": 6504, "end": 7028, "loc": { "start": { "line": 223, "column": 28 }, "end": { "line": 241, "column": 5 } }, "body": [ { "type": "VariableDeclaration", "start": 6511, "end": 6560, "loc": { "start": { "line": 224, "column": 5 }, "end": { "line": 224, "column": 54 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6517, "end": 6559, "loc": { "start": { "line": 224, "column": 11 }, "end": { "line": 224, "column": 53 } }, "id": { "type": "Identifier", "start": 6517, "end": 6525, "loc": { "start": { "line": 224, "column": 11 }, "end": { "line": 224, "column": 19 }, "identifierName": "target_x" }, "name": "target_x" }, "init": { "type": "ConditionalExpression", "start": 6534, "end": 6559, "loc": { "start": { "line": 224, "column": 28 }, "end": { "line": 224, "column": 53 } }, "test": { "type": "Identifier", "start": 6534, "end": 6538, "loc": { "start": { "line": 224, "column": 28 }, "end": { "line": 224, "column": 32 }, "identifierName": "left" }, "name": "left" }, "consequent": { "type": "Identifier", "start": 6541, "end": 6548, "loc": { "start": { "line": 224, "column": 35 }, "end": { "line": 224, "column": 42 }, "identifierName": "coord_x" }, "name": "coord_x" }, "alternate": { "type": "Identifier", "start": 6551, "end": 6559, "loc": { "start": { "line": 224, "column": 45 }, "end": { "line": 224, "column": 53 }, "identifierName": "coord2_x" }, "name": "coord2_x" } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6566, "end": 6615, "loc": { "start": { "line": 225, "column": 5 }, "end": { "line": 225, "column": 54 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6572, "end": 6614, "loc": { "start": { "line": 225, "column": 11 }, "end": { "line": 225, "column": 53 } }, "id": { "type": "Identifier", "start": 6572, "end": 6580, "loc": { "start": { "line": 225, "column": 11 }, "end": { "line": 225, "column": 19 }, "identifierName": "target_y" }, "name": "target_y" }, "init": { "type": "ConditionalExpression", "start": 6589, "end": 6614, "loc": { "start": { "line": 225, "column": 28 }, "end": { "line": 225, "column": 53 } }, "test": { "type": "Identifier", "start": 6589, "end": 6593, "loc": { "start": { "line": 225, "column": 28 }, "end": { "line": 225, "column": 32 }, "identifierName": "left" }, "name": "left" }, "consequent": { "type": "Identifier", "start": 6596, "end": 6603, "loc": { "start": { "line": 225, "column": 35 }, "end": { "line": 225, "column": 42 }, "identifierName": "coord_y" }, "name": "coord_y" }, "alternate": { "type": "Identifier", "start": 6606, "end": 6614, "loc": { "start": { "line": 225, "column": 45 }, "end": { "line": 225, "column": 53 }, "identifierName": "coord2_y" }, "name": "coord2_y" } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 6621, "end": 6686, "loc": { "start": { "line": 226, "column": 5 }, "end": { "line": 226, "column": 70 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6627, "end": 6685, "loc": { "start": { "line": 226, "column": 11 }, "end": { "line": 226, "column": 69 } }, "id": { "type": "Identifier", "start": 6627, "end": 6641, "loc": { "start": { "line": 226, "column": 11 }, "end": { "line": 226, "column": 25 }, "identifierName": "length_squared" }, "name": "length_squared" }, "init": { "type": "BinaryExpression", "start": 6644, "end": 6685, "loc": { "start": { "line": 226, "column": 28 }, "end": { "line": 226, "column": 69 } }, "left": { "type": "BinaryExpression", "start": 6644, "end": 6663, "loc": { "start": { "line": 226, "column": 28 }, "end": { "line": 226, "column": 47 } }, "left": { "type": "Identifier", "start": 6644, "end": 6652, "loc": { "start": { "line": 226, "column": 28 }, "end": { "line": 226, "column": 36 }, "identifierName": "target_x" }, "name": "target_x" }, "operator": "*", "right": { "type": "Identifier", "start": 6655, "end": 6663, "loc": { "start": { "line": 226, "column": 39 }, "end": { "line": 226, "column": 47 }, "identifierName": "target_x" }, "name": "target_x" } }, "operator": "+", "right": { "type": "BinaryExpression", "start": 6666, "end": 6685, "loc": { "start": { "line": 226, "column": 50 }, "end": { "line": 226, "column": 69 } }, "left": { "type": "Identifier", "start": 6666, "end": 6674, "loc": { "start": { "line": 226, "column": 50 }, "end": { "line": 226, "column": 58 }, "identifierName": "target_y" }, "name": "target_y" }, "operator": "*", "right": { "type": "Identifier", "start": 6677, "end": 6685, "loc": { "start": { "line": 226, "column": 61 }, "end": { "line": 226, "column": 69 }, "identifierName": "target_y" }, "name": "target_y" } } } } ], "kind": "const" }, { "type": "IfStatement", "start": 6693, "end": 6757, "loc": { "start": { "line": 228, "column": 5 }, "end": { "line": 230, "column": 6 } }, "test": { "type": "BinaryExpression", "start": 6696, "end": 6727, "loc": { "start": { "line": 228, "column": 8 }, "end": { "line": 228, "column": 39 } }, "left": { "type": "Identifier", "start": 6696, "end": 6710, "loc": { "start": { "line": 228, "column": 8 }, "end": { "line": 228, "column": 22 }, "identifierName": "length_squared" }, "name": "length_squared" }, "operator": ">", "right": { "type": "Identifier", "start": 6713, "end": 6727, "loc": { "start": { "line": 228, "column": 25 }, "end": { "line": 228, "column": 39 }, "identifierName": "radius_squared" }, "name": "radius_squared" } }, "consequent": { "type": "BlockStatement", "start": 6729, "end": 6757, "loc": { "start": { "line": 228, "column": 41 }, "end": { "line": 230, "column": 6 } }, "body": [ { "type": "ReturnStatement", "start": 6737, "end": 6750, "loc": { "start": { "line": 229, "column": 6 }, "end": { "line": 229, "column": 19 } }, "argument": { "type": "BooleanLiteral", "start": 6744, "end": 6749, "loc": { "start": { "line": 229, "column": 13 }, "end": { "line": 229, "column": 18 } }, "value": false } } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 6764, "end": 7022, "loc": { "start": { "line": 232, "column": 5 }, "end": { "line": 240, "column": 6 } }, "test": { "type": "Identifier", "start": 6767, "end": 6773, "loc": { "start": { "line": 232, "column": 8 }, "end": { "line": 232, "column": 14 }, "identifierName": "result" }, "name": "result" }, "consequent": { "type": "BlockStatement", "start": 6775, "end": 7022, "loc": { "start": { "line": 232, "column": 16 }, "end": { "line": 240, "column": 6 } }, "body": [ { "type": "VariableDeclaration", "start": 6783, "end": 6824, "loc": { "start": { "line": 233, "column": 6 }, "end": { "line": 233, "column": 47 } }, "declarations": [ { "type": "VariableDeclarator", "start": 6789, "end": 6823, "loc": { "start": { "line": 233, "column": 12 }, "end": { "line": 233, "column": 46 } }, "id": { "type": "Identifier", "start": 6789, "end": 6795, "loc": { "start": { "line": 233, "column": 12 }, "end": { "line": 233, "column": 18 }, "identifierName": "length" }, "name": "length" }, "init": { "type": "CallExpression", "start": 6798, "end": 6823, "loc": { "start": { "line": 233, "column": 21 }, "end": { "line": 233, "column": 46 } }, "callee": { "type": "MemberExpression", "start": 6798, "end": 6807, "loc": { "start": { "line": 233, "column": 21 }, "end": { "line": 233, "column": 30 } }, "object": { "type": "Identifier", "start": 6798, "end": 6802, "loc": { "start": { "line": 233, "column": 21 }, "end": { "line": 233, "column": 25 }, "identifierName": "Math" }, "name": "Math" }, "property": { "type": "Identifier", "start": 6803, "end": 6807, "loc": { "start": { "line": 233, "column": 26 }, "end": { "line": 233, "column": 30 }, "identifierName": "sqrt" }, "name": "sqrt" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 6808, "end": 6822, "loc": { "start": { "line": 233, "column": 31 }, "end": { "line": 233, "column": 45 }, "identifierName": "length_squared" }, "name": "length_squared" } ] } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 6832, "end": 6855, "loc": { "start": { "line": 235, "column": 6 }, "end": { "line": 235, "column": 29 } }, "expression": { "type": "AssignmentExpression", "start": 6832, "end": 6854, "loc": { "start": { "line": 235, "column": 6 }, "end": { "line": 235, "column": 28 } }, "operator": "=", "left": { "type": "Identifier", "start": 6832, "end": 6847, "loc": { "start": { "line": 235, "column": 6 }, "end": { "line": 235, "column": 21 }, "identifierName": "tmp_overlapping" }, "name": "tmp_overlapping" }, "right": { "type": "BooleanLiteral", "start": 6850, "end": 6854, "loc": { "start": { "line": 235, "column": 24 }, "end": { "line": 235, "column": 28 } }, "value": true } } }, { "type": "ExpressionStatement", "start": 6862, "end": 6898, "loc": { "start": { "line": 236, "column": 6 }, "end": { "line": 236, "column": 42 } }, "expression": { "type": "AssignmentExpression", "start": 6862, "end": 6897, "loc": { "start": { "line": 236, "column": 6 }, "end": { "line": 236, "column": 41 } }, "operator": "=", "left": { "type": "Identifier", "start": 6862, "end": 6873, "loc": { "start": { "line": 236, "column": 6 }, "end": { "line": 236, "column": 17 }, "identifierName": "tmp_overlap" }, "name": "tmp_overlap" }, "right": { "type": "BinaryExpression", "start": 6880, "end": 6897, "loc": { "start": { "line": 236, "column": 24 }, "end": { "line": 236, "column": 41 } }, "left": { "type": "Identifier", "start": 6880, "end": 6888, "loc": { "start": { "line": 236, "column": 24 }, "end": { "line": 236, "column": 32 }, "identifierName": "b_radius" }, "name": "b_radius" }, "operator": "-", "right": { "type": "Identifier", "start": 6891, "end": 6897, "loc": { "start": { "line": 236, "column": 35 }, "end": { "line": 236, "column": 41 }, "identifierName": "length" }, "name": "length" } } } }, { "type": "ExpressionStatement", "start": 6905, "end": 6941, "loc": { "start": { "line": 237, "column": 6 }, "end": { "line": 237, "column": 42 } }, "expression": { "type": "AssignmentExpression", "start": 6905, "end": 6940, "loc": { "start": { "line": 237, "column": 6 }, "end": { "line": 237, "column": 41 } }, "operator": "=", "left": { "type": "Identifier", "start": 6905, "end": 6918, "loc": { "start": { "line": 237, "column": 6 }, "end": { "line": 237, "column": 19 }, "identifierName": "tmp_overlap_x" }, "name": "tmp_overlap_x" }, "right": { "type": "BinaryExpression", "start": 6923, "end": 6940, "loc": { "start": { "line": 237, "column": 24 }, "end": { "line": 237, "column": 41 } }, "left": { "type": "Identifier", "start": 6923, "end": 6931, "loc": { "start": { "line": 237, "column": 24 }, "end": { "line": 237, "column": 32 }, "identifierName": "target_x" }, "name": "target_x" }, "operator": "/", "right": { "type": "Identifier", "start": 6934, "end": 6940, "loc": { "start": { "line": 237, "column": 35 }, "end": { "line": 237, "column": 41 }, "identifierName": "length" }, "name": "length" } } } }, { "type": "ExpressionStatement", "start": 6948, "end": 6984, "loc": { "start": { "line": 238, "column": 6 }, "end": { "line": 238, "column": 42 } }, "expression": { "type": "AssignmentExpression", "start": 6948, "end": 6983, "loc": { "start": { "line": 238, "column": 6 }, "end": { "line": 238, "column": 41 } }, "operator": "=", "left": { "type": "Identifier", "start": 6948, "end": 6961, "loc": { "start": { "line": 238, "column": 6 }, "end": { "line": 238, "column": 19 }, "identifierName": "tmp_overlap_y" }, "name": "tmp_overlap_y" }, "right": { "type": "BinaryExpression", "start": 6966, "end": 6983, "loc": { "start": { "line": 238, "column": 24 }, "end": { "line": 238, "column": 41 } }, "left": { "type": "Identifier", "start": 6966, "end": 6974, "loc": { "start": { "line": 238, "column": 24 }, "end": { "line": 238, "column": 32 }, "identifierName": "target_y" }, "name": "target_y" }, "operator": "/", "right": { "type": "Identifier", "start": 6977, "end": 6983, "loc": { "start": { "line": 238, "column": 35 }, "end": { "line": 238, "column": 41 }, "identifierName": "length" }, "name": "length" } } } }, { "type": "ExpressionStatement", "start": 6991, "end": 7015, "loc": { "start": { "line": 239, "column": 6 }, "end": { "line": 239, "column": 30 } }, "expression": { "type": "AssignmentExpression", "start": 6991, "end": 7014, "loc": { "start": { "line": 239, "column": 6 }, "end": { "line": 239, "column": 29 } }, "operator": "=", "left": { "type": "Identifier", "start": 6991, "end": 6997, "loc": { "start": { "line": 239, "column": 6 }, "end": { "line": 239, "column": 12 }, "identifierName": "b_in_a" }, "name": "b_in_a" }, "right": { "type": "BooleanLiteral", "start": 7009, "end": 7014, "loc": { "start": { "line": 239, "column": 24 }, "end": { "line": 239, "column": 29 } }, "value": false } } } ], "directives": [] }, "alternate": null } ], "directives": [] }, "alternate": null } ], "directives": [] }, "alternate": { "type": "BlockStatement", "start": 7042, "end": 7590, "loc": { "start": { "line": 243, "column": 8 }, "end": { "line": 263, "column": 4 } }, "body": [ { "type": "VariableDeclaration", "start": 7048, "end": 7086, "loc": { "start": { "line": 244, "column": 4 }, "end": { "line": 244, "column": 42 } }, "declarations": [ { "type": "VariableDeclarator", "start": 7054, "end": 7085, "loc": { "start": { "line": 244, "column": 10 }, "end": { "line": 244, "column": 41 } }, "id": { "type": "Identifier", "start": 7054, "end": 7062, "loc": { "start": { "line": 244, "column": 10 }, "end": { "line": 244, "column": 18 }, "identifierName": "normal_x" }, "name": "normal_x" }, "init": { "type": "MemberExpression", "start": 7072, "end": 7085, "loc": { "start": { "line": 244, "column": 28 }, "end": { "line": 244, "column": 41 } }, "object": { "type": "Identifier", "start": 7072, "end": 7081, "loc": { "start": { "line": 244, "column": 28 }, "end": { "line": 244, "column": 37 }, "identifierName": "a_normals" }, "name": "a_normals" }, "property": { "type": "Identifier", "start": 7082, "end": 7084, "loc": { "start": { "line": 244, "column": 38 }, "end": { "line": 244, "column": 40 }, "identifierName": "ix" }, "name": "ix" }, "computed": true } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 7091, "end": 7129, "loc": { "start": { "line": 245, "column": 4 }, "end": { "line": 245, "column": 42 } }, "declarations": [ { "type": "VariableDeclarator", "start": 7097, "end": 7128, "loc": { "start": { "line": 245, "column": 10 }, "end": { "line": 245, "column": 41 } }, "id": { "type": "Identifier", "start": 7097, "end": 7105, "loc": { "start": { "line": 245, "column": 10 }, "end": { "line": 245, "column": 18 }, "identifierName": "normal_y" }, "name": "normal_y" }, "init": { "type": "MemberExpression", "start": 7115, "end": 7128, "loc": { "start": { "line": 245, "column": 28 }, "end": { "line": 245, "column": 41 } }, "object": { "type": "Identifier", "start": 7115, "end": 7124, "loc": { "start": { "line": 245, "column": 28 }, "end": { "line": 245, "column": 37 }, "identifierName": "a_normals" }, "name": "a_normals" }, "property": { "type": "Identifier", "start": 7125, "end": 7127, "loc": { "start": { "line": 245, "column": 38 }, "end": { "line": 245, "column": 40 }, "identifierName": "iy" }, "name": "iy" }, "computed": true } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 7134, "end": 7198, "loc": { "start": { "line": 246, "column": 4 }, "end": { "line": 246, "column": 68 } }, "declarations": [ { "type": "VariableDeclarator", "start": 7140, "end": 7197, "loc": { "start": { "line": 246, "column": 10 }, "end": { "line": 246, "column": 67 } }, "id": { "type": "Identifier", "start": 7140, "end": 7146, "loc": { "start": { "line": 246, "column": 10 }, "end": { "line": 246, "column": 16 }, "identifierName": "length" }, "name": "length" }, "init": { "type": "BinaryExpression", "start": 7158, "end": 7197, "loc": { "start": { "line": 246, "column": 28 }, "end": { "line": 246, "column": 67 } }, "left": { "type": "BinaryExpression", "start": 7158, "end": 7176, "loc": { "start": { "line": 246, "column": 28 }, "end": { "line": 246, "column": 46 } }, "left": { "type": "Identifier", "start": 7158, "end": 7165, "loc": { "start": { "line": 246, "column": 28 }, "end": { "line": 246, "column": 35 }, "identifierName": "coord_x" }, "name": "coord_x" }, "operator": "*", "right": { "type": "Identifier", "start": 7168, "end": 7176, "loc": { "start": { "line": 246, "column": 38 }, "end": { "line": 246, "column": 46 }, "identifierName": "normal_x" }, "name": "normal_x" } }, "operator": "+", "right": { "type": "BinaryExpression", "start": 7179, "end": 7197, "loc": { "start": { "line": 246, "column": 49 }, "end": { "line": 246, "column": 67 } }, "left": { "type": "Identifier", "start": 7179, "end": 7186, "loc": { "start": { "line": 246, "column": 49 }, "end": { "line": 246, "column": 56 }, "identifierName": "coord_y" }, "name": "coord_y" }, "operator": "*", "right": { "type": "Identifier", "start": 7189, "end": 7197, "loc": { "start": { "line": 246, "column": 59 }, "end": { "line": 246, "column": 67 }, "identifierName": "normal_y" }, "name": "normal_y" } } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 7203, "end": 7257, "loc": { "start": { "line": 247, "column": 4 }, "end": { "line": 247, "column": 58 } }, "declarations": [ { "type": "VariableDeclarator", "start": 7209, "end": 7256, "loc": { "start": { "line": 247, "column": 10 }, "end": { "line": 247, "column": 57 } }, "id": { "type": "Identifier", "start": 7209, "end": 7224, "loc": { "start": { "line": 247, "column": 10 }, "end": { "line": 247, "column": 25 }, "identifierName": "absolute_length" }, "name": "absolute_length" }, "init": { "type": "ConditionalExpression", "start": 7227, "end": 7256, "loc": { "start": { "line": 247, "column": 28 }, "end": { "line": 247, "column": 57 } }, "test": { "type": "BinaryExpression", "start": 7227, "end": 7237, "loc": { "start": { "line": 247, "column": 28 }, "end": { "line": 247, "column": 38 } }, "left": { "type": "Identifier", "start": 7227, "end": 7233, "loc": { "start": { "line": 247, "column": 28 }, "end": { "line": 247, "column": 34 }, "identifierName": "length" }, "name": "length" }, "operator": "<", "right": { "type": "NumericLiteral", "start": 7236, "end": 7237, "loc": { "start": { "line": 247, "column": 37 }, "end": { "line": 247, "column": 38 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, "consequent": { "type": "UnaryExpression", "start": 7240, "end": 7247, "loc": { "start": { "line": 247, "column": 41 }, "end": { "line": 247, "column": 48 } }, "operator": "-", "prefix": true, "argument": { "type": "Identifier", "start": 7241, "end": 7247, "loc": { "start": { "line": 247, "column": 42 }, "end": { "line": 247, "column": 48 }, "identifierName": "length" }, "name": "length" }, "extra": { "parenthesizedArgument": false } }, "alternate": { "type": "Identifier", "start": 7250, "end": 7256, "loc": { "start": { "line": 247, "column": 51 }, "end": { "line": 247, "column": 57 }, "identifierName": "length" }, "name": "length" } } } ], "kind": "const" }, { "type": "IfStatement", "start": 7263, "end": 7334, "loc": { "start": { "line": 249, "column": 4 }, "end": { "line": 251, "column": 5 } }, "test": { "type": "LogicalExpression", "start": 7266, "end": 7306, "loc": { "start": { "line": 249, "column": 7 }, "end": { "line": 249, "column": 47 } }, "left": { "type": "BinaryExpression", "start": 7266, "end": 7276, "loc": { "start": { "line": 249, "column": 7 }, "end": { "line": 249, "column": 17 } }, "left": { "type": "Identifier", "start": 7266, "end": 7272, "loc": { "start": { "line": 249, "column": 7 }, "end": { "line": 249, "column": 13 }, "identifierName": "length" }, "name": "length" }, "operator": ">", "right": { "type": "NumericLiteral", "start": 7275, "end": 7276, "loc": { "start": { "line": 249, "column": 16 }, "end": { "line": 249, "column": 17 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 7280, "end": 7306, "loc": { "start": { "line": 249, "column": 21 }, "end": { "line": 249, "column": 47 } }, "left": { "type": "Identifier", "start": 7280, "end": 7295, "loc": { "start": { "line": 249, "column": 21 }, "end": { "line": 249, "column": 36 }, "identifierName": "absolute_length" }, "name": "absolute_length" }, "operator": ">", "right": { "type": "Identifier", "start": 7298, "end": 7306, "loc": { "start": { "line": 249, "column": 39 }, "end": { "line": 249, "column": 47 }, "identifierName": "b_radius" }, "name": "b_radius" } } }, "consequent": { "type": "BlockStatement", "start": 7308, "end": 7334, "loc": { "start": { "line": 249, "column": 49 }, "end": { "line": 251, "column": 5 } }, "body": [ { "type": "ReturnStatement", "start": 7315, "end": 7328, "loc": { "start": { "line": 250, "column": 5 }, "end": { "line": 250, "column": 18 } }, "argument": { "type": "BooleanLiteral", "start": 7322, "end": 7327, "loc": { "start": { "line": 250, "column": 12 }, "end": { "line": 250, "column": 17 } }, "value": false } } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 7340, "end": 7585, "loc": { "start": { "line": 253, "column": 4 }, "end": { "line": 262, "column": 5 } }, "test": { "type": "Identifier", "start": 7343, "end": 7349, "loc": { "start": { "line": 253, "column": 7 }, "end": { "line": 253, "column": 13 }, "identifierName": "result" }, "name": "result" }, "consequent": { "type": "BlockStatement", "start": 7351, "end": 7585, "loc": { "start": { "line": 253, "column": 15 }, "end": { "line": 262, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 7358, "end": 7381, "loc": { "start": { "line": 254, "column": 5 }, "end": { "line": 254, "column": 28 } }, "expression": { "type": "AssignmentExpression", "start": 7358, "end": 7380, "loc": { "start": { "line": 254, "column": 5 }, "end": { "line": 254, "column": 27 } }, "operator": "=", "left": { "type": "Identifier", "start": 7358, "end": 7373, "loc": { "start": { "line": 254, "column": 5 }, "end": { "line": 254, "column": 20 }, "identifierName": "tmp_overlapping" }, "name": "tmp_overlapping" }, "right": { "type": "BooleanLiteral", "start": 7376, "end": 7380, "loc": { "start": { "line": 254, "column": 23 }, "end": { "line": 254, "column": 27 } }, "value": true } } }, { "type": "ExpressionStatement", "start": 7387, "end": 7423, "loc": { "start": { "line": 255, "column": 5 }, "end": { "line": 255, "column": 41 } }, "expression": { "type": "AssignmentExpression", "start": 7387, "end": 7422, "loc": { "start": { "line": 255, "column": 5 }, "end": { "line": 255, "column": 40 } }, "operator": "=", "left": { "type": "Identifier", "start": 7387, "end": 7398, "loc": { "start": { "line": 255, "column": 5 }, "end": { "line": 255, "column": 16 }, "identifierName": "tmp_overlap" }, "name": "tmp_overlap" }, "right": { "type": "BinaryExpression", "start": 7405, "end": 7422, "loc": { "start": { "line": 255, "column": 23 }, "end": { "line": 255, "column": 40 } }, "left": { "type": "Identifier", "start": 7405, "end": 7413, "loc": { "start": { "line": 255, "column": 23 }, "end": { "line": 255, "column": 31 }, "identifierName": "b_radius" }, "name": "b_radius" }, "operator": "-", "right": { "type": "Identifier", "start": 7416, "end": 7422, "loc": { "start": { "line": 255, "column": 34 }, "end": { "line": 255, "column": 40 }, "identifierName": "length" }, "name": "length" } } } }, { "type": "ExpressionStatement", "start": 7429, "end": 7456, "loc": { "start": { "line": 256, "column": 5 }, "end": { "line": 256, "column": 32 } }, "expression": { "type": "AssignmentExpression", "start": 7429, "end": 7455, "loc": { "start": { "line": 256, "column": 5 }, "end": { "line": 256, "column": 31 } }, "operator": "=", "left": { "type": "Identifier", "start": 7429, "end": 7442, "loc": { "start": { "line": 256, "column": 5 }, "end": { "line": 256, "column": 18 }, "identifierName": "tmp_overlap_x" }, "name": "tmp_overlap_x" }, "right": { "type": "Identifier", "start": 7447, "end": 7455, "loc": { "start": { "line": 256, "column": 23 }, "end": { "line": 256, "column": 31 }, "identifierName": "normal_x" }, "name": "normal_x" } } }, { "type": "ExpressionStatement", "start": 7462, "end": 7489, "loc": { "start": { "line": 257, "column": 5 }, "end": { "line": 257, "column": 32 } }, "expression": { "type": "AssignmentExpression", "start": 7462, "end": 7488, "loc": { "start": { "line": 257, "column": 5 }, "end": { "line": 257, "column": 31 } }, "operator": "=", "left": { "type": "Identifier", "start": 7462, "end": 7475, "loc": { "start": { "line": 257, "column": 5 }, "end": { "line": 257, "column": 18 }, "identifierName": "tmp_overlap_y" }, "name": "tmp_overlap_y" }, "right": { "type": "Identifier", "start": 7480, "end": 7488, "loc": { "start": { "line": 257, "column": 23 }, "end": { "line": 257, "column": 31 }, "identifierName": "normal_y" }, "name": "normal_y" } } }, { "type": "IfStatement", "start": 7496, "end": 7579, "loc": { "start": { "line": 259, "column": 5 }, "end": { "line": 261, "column": 6 } }, "test": { "type": "LogicalExpression", "start": 7499, "end": 7547, "loc": { "start": { "line": 259, "column": 8 }, "end": { "line": 259, "column": 56 } }, "left": { "type": "LogicalExpression", "start": 7499, "end": 7520, "loc": { "start": { "line": 259, "column": 8 }, "end": { "line": 259, "column": 29 } }, "left": { "type": "Identifier", "start": 7499, "end": 7505, "loc": { "start": { "line": 259, "column": 8 }, "end": { "line": 259, "column": 14 }, "identifierName": "b_in_a" }, "name": "b_in_a" }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 7509, "end": 7520, "loc": { "start": { "line": 259, "column": 18 }, "end": { "line": 259, "column": 29 } }, "left": { "type": "Identifier", "start": 7509, "end": 7515, "loc": { "start": { "line": 259, "column": 18 }, "end": { "line": 259, "column": 24 }, "identifierName": "length" }, "name": "length" }, "operator": ">=", "right": { "type": "NumericLiteral", "start": 7519, "end": 7520, "loc": { "start": { "line": 259, "column": 28 }, "end": { "line": 259, "column": 29 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 7524, "end": 7547, "loc": { "start": { "line": 259, "column": 33 }, "end": { "line": 259, "column": 56 } }, "left": { "type": "Identifier", "start": 7524, "end": 7535, "loc": { "start": { "line": 259, "column": 33 }, "end": { "line": 259, "column": 44 }, "identifierName": "tmp_overlap" }, "name": "tmp_overlap" }, "operator": "<", "right": { "type": "Identifier", "start": 7538, "end": 7547, "loc": { "start": { "line": 259, "column": 47 }, "end": { "line": 259, "column": 56 }, "identifierName": "b_radius2" }, "name": "b_radius2" } } }, "consequent": { "type": "BlockStatement", "start": 7549, "end": 7579, "loc": { "start": { "line": 259, "column": 58 }, "end": { "line": 261, "column": 6 } }, "body": [ { "type": "ExpressionStatement", "start": 7557, "end": 7572, "loc": { "start": { "line": 260, "column": 6 }, "end": { "line": 260, "column": 21 } }, "expression": { "type": "AssignmentExpression", "start": 7557, "end": 7571, "loc": { "start": { "line": 260, "column": 6 }, "end": { "line": 260, "column": 20 } }, "operator": "=", "left": { "type": "Identifier", "start": 7557, "end": 7563, "loc": { "start": { "line": 260, "column": 6 }, "end": { "line": 260, "column": 12 }, "identifierName": "b_in_a" }, "name": "b_in_a" }, "right": { "type": "BooleanLiteral", "start": 7566, "end": 7571, "loc": { "start": { "line": 260, "column": 15 }, "end": { "line": 260, "column": 20 } }, "value": false } } } ], "directives": [] }, "alternate": null } ], "directives": [] }, "alternate": null } ], "directives": [] } }, { "type": "IfStatement", "start": 7595, "end": 7759, "loc": { "start": { "line": 265, "column": 3 }, "end": { "line": 269, "column": 4 } }, "test": { "type": "LogicalExpression", "start": 7598, "end": 7660, "loc": { "start": { "line": 265, "column": 6 }, "end": { "line": 265, "column": 68 } }, "left": { "type": "Identifier", "start": 7598, "end": 7613, "loc": { "start": { "line": 265, "column": 6 }, "end": { "line": 265, "column": 21 }, "identifierName": "tmp_overlapping" }, "name": "tmp_overlapping" }, "operator": "&&", "right": { "type": "LogicalExpression", "start": 7618, "end": 7659, "loc": { "start": { "line": 265, "column": 26 }, "end": { "line": 265, "column": 67 } }, "left": { "type": "BinaryExpression", "start": 7618, "end": 7634, "loc": { "start": { "line": 265, "column": 26 }, "end": { "line": 265, "column": 42 } }, "left": { "type": "Identifier", "start": 7618, "end": 7625, "loc": { "start": { "line": 265, "column": 26 }, "end": { "line": 265, "column": 33 }, "identifierName": "overlap" }, "name": "overlap" }, "operator": "===", "right": { "type": "NullLiteral", "start": 7630, "end": 7634, "loc": { "start": { "line": 265, "column": 38 }, "end": { "line": 265, "column": 42 } } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 7638, "end": 7659, "loc": { "start": { "line": 265, "column": 46 }, "end": { "line": 265, "column": 67 } }, "left": { "type": "Identifier", "start": 7638, "end": 7645, "loc": { "start": { "line": 265, "column": 46 }, "end": { "line": 265, "column": 53 }, "identifierName": "overlap" }, "name": "overlap" }, "operator": ">", "right": { "type": "Identifier", "start": 7648, "end": 7659, "loc": { "start": { "line": 265, "column": 56 }, "end": { "line": 265, "column": 67 }, "identifierName": "tmp_overlap" }, "name": "tmp_overlap" } }, "extra": { "parenthesized": true, "parenStart": 7617 } } }, "consequent": { "type": "BlockStatement", "start": 7662, "end": 7759, "loc": { "start": { "line": 265, "column": 70 }, "end": { "line": 269, "column": 4 } }, "body": [ { "type": "ExpressionStatement", "start": 7668, "end": 7692, "loc": { "start": { "line": 266, "column": 4 }, "end": { "line": 266, "column": 28 } }, "expression": { "type": "AssignmentExpression", "start": 7668, "end": 7691, "loc": { "start": { "line": 266, "column": 4 }, "end": { "line": 266, "column": 27 } }, "operator": "=", "left": { "type": "Identifier", "start": 7668, "end": 7675, "loc": { "start": { "line": 266, "column": 4 }, "end": { "line": 266, "column": 11 }, "identifierName": "overlap" }, "name": "overlap" }, "right": { "type": "Identifier", "start": 7680, "end": 7691, "loc": { "start": { "line": 266, "column": 16 }, "end": { "line": 266, "column": 27 }, "identifierName": "tmp_overlap" }, "name": "tmp_overlap" } } }, { "type": "ExpressionStatement", "start": 7697, "end": 7723, "loc": { "start": { "line": 267, "column": 4 }, "end": { "line": 267, "column": 30 } }, "expression": { "type": "AssignmentExpression", "start": 7697, "end": 7722, "loc": { "start": { "line": 267, "column": 4 }, "end": { "line": 267, "column": 29 } }, "operator": "=", "left": { "type": "Identifier", "start": 7697, "end": 7706, "loc": { "start": { "line": 267, "column": 4 }, "end": { "line": 267, "column": 13 }, "identifierName": "overlap_x" }, "name": "overlap_x" }, "right": { "type": "Identifier", "start": 7709, "end": 7722, "loc": { "start": { "line": 267, "column": 16 }, "end": { "line": 267, "column": 29 }, "identifierName": "tmp_overlap_x" }, "name": "tmp_overlap_x" } } }, { "type": "ExpressionStatement", "start": 7728, "end": 7754, "loc": { "start": { "line": 268, "column": 4 }, "end": { "line": 268, "column": 30 } }, "expression": { "type": "AssignmentExpression", "start": 7728, "end": 7753, "loc": { "start": { "line": 268, "column": 4 }, "end": { "line": 268, "column": 29 } }, "operator": "=", "left": { "type": "Identifier", "start": 7728, "end": 7737, "loc": { "start": { "line": 268, "column": 4 }, "end": { "line": 268, "column": 13 }, "identifierName": "overlap_y" }, "name": "overlap_y" }, "right": { "type": "Identifier", "start": 7740, "end": 7753, "loc": { "start": { "line": 268, "column": 16 }, "end": { "line": 268, "column": 29 }, "identifierName": "tmp_overlap_y" }, "name": "tmp_overlap_y" } } } ], "directives": [] }, "alternate": null } ], "directives": [] } } ], "directives": [] }, "leadingComments": [ { "type": "CommentLine", "value": " Handle points specially", "start": 4945, "end": 4971, "loc": { "start": { "line": 175, "column": 1 }, "end": { "line": 175, "column": 27 } } } ] }, { "type": "IfStatement", "start": 7769, "end": 8020, "loc": { "start": { "line": 273, "column": 1 }, "end": { "line": 279, "column": 2 } }, "test": { "type": "Identifier", "start": 7772, "end": 7778, "loc": { "start": { "line": 273, "column": 4 }, "end": { "line": 273, "column": 10 }, "identifierName": "result" }, "name": "result" }, "consequent": { "type": "BlockStatement", "start": 7780, "end": 8020, "loc": { "start": { "line": 273, "column": 12 }, "end": { "line": 279, "column": 2 } }, "body": [ { "type": "ExpressionStatement", "start": 7784, "end": 7829, "loc": { "start": { "line": 274, "column": 2 }, "end": { "line": 274, "column": 47 } }, "expression": { "type": "AssignmentExpression", "start": 7784, "end": 7828, "loc": { "start": { "line": 274, "column": 2 }, "end": { "line": 274, "column": 46 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 7784, "end": 7797, "loc": { "start": { "line": 274, "column": 2 }, "end": { "line": 274, "column": 15 } }, "object": { "type": "Identifier", "start": 7784, "end": 7790, "loc": { "start": { "line": 274, "column": 2 }, "end": { "line": 274, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 7791, "end": 7797, "loc": { "start": { "line": 274, "column": 9 }, "end": { "line": 274, "column": 15 }, "identifierName": "a_in_b" }, "name": "a_in_b" }, "computed": false }, "right": { "type": "ConditionalExpression", "start": 7803, "end": 7828, "loc": { "start": { "line": 274, "column": 21 }, "end": { "line": 274, "column": 46 } }, "test": { "type": "Identifier", "start": 7803, "end": 7810, "loc": { "start": { "line": 274, "column": 21 }, "end": { "line": 274, "column": 28 }, "identifierName": "reverse" }, "name": "reverse" }, "consequent": { "type": "Identifier", "start": 7813, "end": 7819, "loc": { "start": { "line": 274, "column": 31 }, "end": { "line": 274, "column": 37 }, "identifierName": "b_in_a" }, "name": "b_in_a" }, "alternate": { "type": "Identifier", "start": 7822, "end": 7828, "loc": { "start": { "line": 274, "column": 40 }, "end": { "line": 274, "column": 46 }, "identifierName": "a_in_b" }, "name": "a_in_b" } } } }, { "type": "ExpressionStatement", "start": 7832, "end": 7877, "loc": { "start": { "line": 275, "column": 2 }, "end": { "line": 275, "column": 47 } }, "expression": { "type": "AssignmentExpression", "start": 7832, "end": 7876, "loc": { "start": { "line": 275, "column": 2 }, "end": { "line": 275, "column": 46 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 7832, "end": 7845, "loc": { "start": { "line": 275, "column": 2 }, "end": { "line": 275, "column": 15 } }, "object": { "type": "Identifier", "start": 7832, "end": 7838, "loc": { "start": { "line": 275, "column": 2 }, "end": { "line": 275, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 7839, "end": 7845, "loc": { "start": { "line": 275, "column": 9 }, "end": { "line": 275, "column": 15 }, "identifierName": "b_in_a" }, "name": "b_in_a" }, "computed": false }, "right": { "type": "ConditionalExpression", "start": 7851, "end": 7876, "loc": { "start": { "line": 275, "column": 21 }, "end": { "line": 275, "column": 46 } }, "test": { "type": "Identifier", "start": 7851, "end": 7858, "loc": { "start": { "line": 275, "column": 21 }, "end": { "line": 275, "column": 28 }, "identifierName": "reverse" }, "name": "reverse" }, "consequent": { "type": "Identifier", "start": 7861, "end": 7867, "loc": { "start": { "line": 275, "column": 31 }, "end": { "line": 275, "column": 37 }, "identifierName": "a_in_b" }, "name": "a_in_b" }, "alternate": { "type": "Identifier", "start": 7870, "end": 7876, "loc": { "start": { "line": 275, "column": 40 }, "end": { "line": 275, "column": 46 }, "identifierName": "b_in_a" }, "name": "b_in_a" } } } }, { "type": "ExpressionStatement", "start": 7880, "end": 7907, "loc": { "start": { "line": 276, "column": 2 }, "end": { "line": 276, "column": 29 } }, "expression": { "type": "AssignmentExpression", "start": 7880, "end": 7906, "loc": { "start": { "line": 276, "column": 2 }, "end": { "line": 276, "column": 28 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 7880, "end": 7894, "loc": { "start": { "line": 276, "column": 2 }, "end": { "line": 276, "column": 16 } }, "object": { "type": "Identifier", "start": 7880, "end": 7886, "loc": { "start": { "line": 276, "column": 2 }, "end": { "line": 276, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 7887, "end": 7894, "loc": { "start": { "line": 276, "column": 9 }, "end": { "line": 276, "column": 16 }, "identifierName": "overlap" }, "name": "overlap" }, "computed": false }, "right": { "type": "Identifier", "start": 7899, "end": 7906, "loc": { "start": { "line": 276, "column": 21 }, "end": { "line": 276, "column": 28 }, "identifierName": "overlap" }, "name": "overlap" } } }, { "type": "ExpressionStatement", "start": 7910, "end": 7962, "loc": { "start": { "line": 277, "column": 2 }, "end": { "line": 277, "column": 54 } }, "expression": { "type": "AssignmentExpression", "start": 7910, "end": 7961, "loc": { "start": { "line": 277, "column": 2 }, "end": { "line": 277, "column": 53 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 7910, "end": 7926, "loc": { "start": { "line": 277, "column": 2 }, "end": { "line": 277, "column": 18 } }, "object": { "type": "Identifier", "start": 7910, "end": 7916, "loc": { "start": { "line": 277, "column": 2 }, "end": { "line": 277, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 7917, "end": 7926, "loc": { "start": { "line": 277, "column": 9 }, "end": { "line": 277, "column": 18 }, "identifierName": "overlap_x" }, "name": "overlap_x" }, "computed": false }, "right": { "type": "ConditionalExpression", "start": 7929, "end": 7961, "loc": { "start": { "line": 277, "column": 21 }, "end": { "line": 277, "column": 53 } }, "test": { "type": "Identifier", "start": 7929, "end": 7936, "loc": { "start": { "line": 277, "column": 21 }, "end": { "line": 277, "column": 28 }, "identifierName": "reverse" }, "name": "reverse" }, "consequent": { "type": "UnaryExpression", "start": 7939, "end": 7949, "loc": { "start": { "line": 277, "column": 31 }, "end": { "line": 277, "column": 41 } }, "operator": "-", "prefix": true, "argument": { "type": "Identifier", "start": 7940, "end": 7949, "loc": { "start": { "line": 277, "column": 32 }, "end": { "line": 277, "column": 41 }, "identifierName": "overlap_x" }, "name": "overlap_x" }, "extra": { "parenthesizedArgument": false } }, "alternate": { "type": "Identifier", "start": 7952, "end": 7961, "loc": { "start": { "line": 277, "column": 44 }, "end": { "line": 277, "column": 53 }, "identifierName": "overlap_x" }, "name": "overlap_x" } } } }, { "type": "ExpressionStatement", "start": 7965, "end": 8017, "loc": { "start": { "line": 278, "column": 2 }, "end": { "line": 278, "column": 54 } }, "expression": { "type": "AssignmentExpression", "start": 7965, "end": 8016, "loc": { "start": { "line": 278, "column": 2 }, "end": { "line": 278, "column": 53 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 7965, "end": 7981, "loc": { "start": { "line": 278, "column": 2 }, "end": { "line": 278, "column": 18 } }, "object": { "type": "Identifier", "start": 7965, "end": 7971, "loc": { "start": { "line": 278, "column": 2 }, "end": { "line": 278, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 7972, "end": 7981, "loc": { "start": { "line": 278, "column": 9 }, "end": { "line": 278, "column": 18 }, "identifierName": "overlap_y" }, "name": "overlap_y" }, "computed": false }, "right": { "type": "ConditionalExpression", "start": 7984, "end": 8016, "loc": { "start": { "line": 278, "column": 21 }, "end": { "line": 278, "column": 53 } }, "test": { "type": "Identifier", "start": 7984, "end": 7991, "loc": { "start": { "line": 278, "column": 21 }, "end": { "line": 278, "column": 28 }, "identifierName": "reverse" }, "name": "reverse" }, "consequent": { "type": "UnaryExpression", "start": 7994, "end": 8004, "loc": { "start": { "line": 278, "column": 31 }, "end": { "line": 278, "column": 41 } }, "operator": "-", "prefix": true, "argument": { "type": "Identifier", "start": 7995, "end": 8004, "loc": { "start": { "line": 278, "column": 32 }, "end": { "line": 278, "column": 41 }, "identifierName": "overlap_y" }, "name": "overlap_y" }, "extra": { "parenthesizedArgument": false } }, "alternate": { "type": "Identifier", "start": 8007, "end": 8016, "loc": { "start": { "line": 278, "column": 44 }, "end": { "line": 278, "column": 53 }, "identifierName": "overlap_y" }, "name": "overlap_y" } } } } ], "directives": [] }, "alternate": null }, { "type": "ReturnStatement", "start": 8023, "end": 8035, "loc": { "start": { "line": 281, "column": 1 }, "end": { "line": 281, "column": 13 } }, "argument": { "type": "BooleanLiteral", "start": 8030, "end": 8034, "loc": { "start": { "line": 281, "column": 8 }, "end": { "line": 281, "column": 12 } }, "value": true } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * Determines if a polygon and a circle are colliding\n * @param {Polygon} a The source polygon to test\n * @param {Circle} b The target circle to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @param {Boolean} [reverse = false] Set to true to reverse a and b in the result parameter when testing circle->polygon instead of polygon->circle\n * @returns {Boolean}\n ", "start": 4001, "end": 4438, "loc": { "start": { "line": 150, "column": 0 }, "end": { "line": 157, "column": 3 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n * Determines if two circles are colliding\n * @param {Circle} a The source circle to test\n * @param {Circle} b The target circle to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n ", "start": 8039, "end": 8314, "loc": { "start": { "line": 284, "column": 0 }, "end": { "line": 290, "column": 3 } } } ] }, { "type": "FunctionDeclaration", "start": 8315, "end": 9075, "loc": { "start": { "line": 291, "column": 0 }, "end": { "line": 314, "column": 1 } }, "id": { "type": "Identifier", "start": 8324, "end": 8336, "loc": { "start": { "line": 291, "column": 9 }, "end": { "line": 291, "column": 21 }, "identifierName": "circleCircle" }, "name": "circleCircle", "leadingComments": null }, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 8337, "end": 8338, "loc": { "start": { "line": 291, "column": 22 }, "end": { "line": 291, "column": 23 }, "identifierName": "a" }, "name": "a" }, { "type": "Identifier", "start": 8340, "end": 8341, "loc": { "start": { "line": 291, "column": 25 }, "end": { "line": 291, "column": 26 }, "identifierName": "b" }, "name": "b" }, { "type": "AssignmentPattern", "start": 8343, "end": 8356, "loc": { "start": { "line": 291, "column": 28 }, "end": { "line": 291, "column": 41 } }, "left": { "type": "Identifier", "start": 8343, "end": 8349, "loc": { "start": { "line": 291, "column": 28 }, "end": { "line": 291, "column": 34 }, "identifierName": "result" }, "name": "result" }, "right": { "type": "NullLiteral", "start": 8352, "end": 8356, "loc": { "start": { "line": 291, "column": 37 }, "end": { "line": 291, "column": 41 } } } } ], "body": { "type": "BlockStatement", "start": 8358, "end": 9075, "loc": { "start": { "line": 291, "column": 43 }, "end": { "line": 314, "column": 1 } }, "body": [ { "type": "VariableDeclaration", "start": 8361, "end": 8403, "loc": { "start": { "line": 292, "column": 1 }, "end": { "line": 292, "column": 43 } }, "declarations": [ { "type": "VariableDeclarator", "start": 8367, "end": 8402, "loc": { "start": { "line": 292, "column": 7 }, "end": { "line": 292, "column": 42 } }, "id": { "type": "Identifier", "start": 8367, "end": 8375, "loc": { "start": { "line": 292, "column": 7 }, "end": { "line": 292, "column": 15 }, "identifierName": "a_radius" }, "name": "a_radius" }, "init": { "type": "BinaryExpression", "start": 8384, "end": 8402, "loc": { "start": { "line": 292, "column": 24 }, "end": { "line": 292, "column": 42 } }, "left": { "type": "MemberExpression", "start": 8384, "end": 8392, "loc": { "start": { "line": 292, "column": 24 }, "end": { "line": 292, "column": 32 } }, "object": { "type": "Identifier", "start": 8384, "end": 8385, "loc": { "start": { "line": 292, "column": 24 }, "end": { "line": 292, "column": 25 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 8386, "end": 8392, "loc": { "start": { "line": 292, "column": 26 }, "end": { "line": 292, "column": 32 }, "identifierName": "radius" }, "name": "radius" }, "computed": false }, "operator": "*", "right": { "type": "MemberExpression", "start": 8395, "end": 8402, "loc": { "start": { "line": 292, "column": 35 }, "end": { "line": 292, "column": 42 } }, "object": { "type": "Identifier", "start": 8395, "end": 8396, "loc": { "start": { "line": 292, "column": 35 }, "end": { "line": 292, "column": 36 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 8397, "end": 8402, "loc": { "start": { "line": 292, "column": 37 }, "end": { "line": 292, "column": 42 }, "identifierName": "scale" }, "name": "scale" }, "computed": false } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 8405, "end": 8447, "loc": { "start": { "line": 293, "column": 1 }, "end": { "line": 293, "column": 43 } }, "declarations": [ { "type": "VariableDeclarator", "start": 8411, "end": 8446, "loc": { "start": { "line": 293, "column": 7 }, "end": { "line": 293, "column": 42 } }, "id": { "type": "Identifier", "start": 8411, "end": 8419, "loc": { "start": { "line": 293, "column": 7 }, "end": { "line": 293, "column": 15 }, "identifierName": "b_radius" }, "name": "b_radius" }, "init": { "type": "BinaryExpression", "start": 8428, "end": 8446, "loc": { "start": { "line": 293, "column": 24 }, "end": { "line": 293, "column": 42 } }, "left": { "type": "MemberExpression", "start": 8428, "end": 8436, "loc": { "start": { "line": 293, "column": 24 }, "end": { "line": 293, "column": 32 } }, "object": { "type": "Identifier", "start": 8428, "end": 8429, "loc": { "start": { "line": 293, "column": 24 }, "end": { "line": 293, "column": 25 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 8430, "end": 8436, "loc": { "start": { "line": 293, "column": 26 }, "end": { "line": 293, "column": 32 }, "identifierName": "radius" }, "name": "radius" }, "computed": false }, "operator": "*", "right": { "type": "MemberExpression", "start": 8439, "end": 8446, "loc": { "start": { "line": 293, "column": 35 }, "end": { "line": 293, "column": 42 } }, "object": { "type": "Identifier", "start": 8439, "end": 8440, "loc": { "start": { "line": 293, "column": 35 }, "end": { "line": 293, "column": 36 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 8441, "end": 8446, "loc": { "start": { "line": 293, "column": 37 }, "end": { "line": 293, "column": 42 }, "identifierName": "scale" }, "name": "scale" }, "computed": false } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 8449, "end": 8482, "loc": { "start": { "line": 294, "column": 1 }, "end": { "line": 294, "column": 34 } }, "declarations": [ { "type": "VariableDeclarator", "start": 8455, "end": 8481, "loc": { "start": { "line": 294, "column": 7 }, "end": { "line": 294, "column": 33 } }, "id": { "type": "Identifier", "start": 8455, "end": 8467, "loc": { "start": { "line": 294, "column": 7 }, "end": { "line": 294, "column": 19 }, "identifierName": "difference_x" }, "name": "difference_x" }, "init": { "type": "BinaryExpression", "start": 8472, "end": 8481, "loc": { "start": { "line": 294, "column": 24 }, "end": { "line": 294, "column": 33 } }, "left": { "type": "MemberExpression", "start": 8472, "end": 8475, "loc": { "start": { "line": 294, "column": 24 }, "end": { "line": 294, "column": 27 } }, "object": { "type": "Identifier", "start": 8472, "end": 8473, "loc": { "start": { "line": 294, "column": 24 }, "end": { "line": 294, "column": 25 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 8474, "end": 8475, "loc": { "start": { "line": 294, "column": 26 }, "end": { "line": 294, "column": 27 }, "identifierName": "x" }, "name": "x" }, "computed": false }, "operator": "-", "right": { "type": "MemberExpression", "start": 8478, "end": 8481, "loc": { "start": { "line": 294, "column": 30 }, "end": { "line": 294, "column": 33 } }, "object": { "type": "Identifier", "start": 8478, "end": 8479, "loc": { "start": { "line": 294, "column": 30 }, "end": { "line": 294, "column": 31 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 8480, "end": 8481, "loc": { "start": { "line": 294, "column": 32 }, "end": { "line": 294, "column": 33 }, "identifierName": "x" }, "name": "x" }, "computed": false } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 8484, "end": 8517, "loc": { "start": { "line": 295, "column": 1 }, "end": { "line": 295, "column": 34 } }, "declarations": [ { "type": "VariableDeclarator", "start": 8490, "end": 8516, "loc": { "start": { "line": 295, "column": 7 }, "end": { "line": 295, "column": 33 } }, "id": { "type": "Identifier", "start": 8490, "end": 8502, "loc": { "start": { "line": 295, "column": 7 }, "end": { "line": 295, "column": 19 }, "identifierName": "difference_y" }, "name": "difference_y" }, "init": { "type": "BinaryExpression", "start": 8507, "end": 8516, "loc": { "start": { "line": 295, "column": 24 }, "end": { "line": 295, "column": 33 } }, "left": { "type": "MemberExpression", "start": 8507, "end": 8510, "loc": { "start": { "line": 295, "column": 24 }, "end": { "line": 295, "column": 27 } }, "object": { "type": "Identifier", "start": 8507, "end": 8508, "loc": { "start": { "line": 295, "column": 24 }, "end": { "line": 295, "column": 25 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 8509, "end": 8510, "loc": { "start": { "line": 295, "column": 26 }, "end": { "line": 295, "column": 27 }, "identifierName": "y" }, "name": "y" }, "computed": false }, "operator": "-", "right": { "type": "MemberExpression", "start": 8513, "end": 8516, "loc": { "start": { "line": 295, "column": 30 }, "end": { "line": 295, "column": 33 } }, "object": { "type": "Identifier", "start": 8513, "end": 8514, "loc": { "start": { "line": 295, "column": 30 }, "end": { "line": 295, "column": 31 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 8515, "end": 8516, "loc": { "start": { "line": 295, "column": 32 }, "end": { "line": 295, "column": 33 }, "identifierName": "y" }, "name": "y" }, "computed": false } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 8519, "end": 8562, "loc": { "start": { "line": 296, "column": 1 }, "end": { "line": 296, "column": 44 } }, "declarations": [ { "type": "VariableDeclarator", "start": 8525, "end": 8561, "loc": { "start": { "line": 296, "column": 7 }, "end": { "line": 296, "column": 43 } }, "id": { "type": "Identifier", "start": 8525, "end": 8535, "loc": { "start": { "line": 296, "column": 7 }, "end": { "line": 296, "column": 17 }, "identifierName": "radius_sum" }, "name": "radius_sum" }, "init": { "type": "BinaryExpression", "start": 8542, "end": 8561, "loc": { "start": { "line": 296, "column": 24 }, "end": { "line": 296, "column": 43 } }, "left": { "type": "Identifier", "start": 8542, "end": 8550, "loc": { "start": { "line": 296, "column": 24 }, "end": { "line": 296, "column": 32 }, "identifierName": "a_radius" }, "name": "a_radius" }, "operator": "+", "right": { "type": "Identifier", "start": 8553, "end": 8561, "loc": { "start": { "line": 296, "column": 35 }, "end": { "line": 296, "column": 43 }, "identifierName": "b_radius" }, "name": "b_radius" } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 8564, "end": 8645, "loc": { "start": { "line": 297, "column": 1 }, "end": { "line": 297, "column": 82 } }, "declarations": [ { "type": "VariableDeclarator", "start": 8570, "end": 8644, "loc": { "start": { "line": 297, "column": 7 }, "end": { "line": 297, "column": 81 } }, "id": { "type": "Identifier", "start": 8570, "end": 8584, "loc": { "start": { "line": 297, "column": 7 }, "end": { "line": 297, "column": 21 }, "identifierName": "length_squared" }, "name": "length_squared" }, "init": { "type": "BinaryExpression", "start": 8587, "end": 8644, "loc": { "start": { "line": 297, "column": 24 }, "end": { "line": 297, "column": 81 } }, "left": { "type": "BinaryExpression", "start": 8587, "end": 8614, "loc": { "start": { "line": 297, "column": 24 }, "end": { "line": 297, "column": 51 } }, "left": { "type": "Identifier", "start": 8587, "end": 8599, "loc": { "start": { "line": 297, "column": 24 }, "end": { "line": 297, "column": 36 }, "identifierName": "difference_x" }, "name": "difference_x" }, "operator": "*", "right": { "type": "Identifier", "start": 8602, "end": 8614, "loc": { "start": { "line": 297, "column": 39 }, "end": { "line": 297, "column": 51 }, "identifierName": "difference_x" }, "name": "difference_x" } }, "operator": "+", "right": { "type": "BinaryExpression", "start": 8617, "end": 8644, "loc": { "start": { "line": 297, "column": 54 }, "end": { "line": 297, "column": 81 } }, "left": { "type": "Identifier", "start": 8617, "end": 8629, "loc": { "start": { "line": 297, "column": 54 }, "end": { "line": 297, "column": 66 }, "identifierName": "difference_y" }, "name": "difference_y" }, "operator": "*", "right": { "type": "Identifier", "start": 8632, "end": 8644, "loc": { "start": { "line": 297, "column": 69 }, "end": { "line": 297, "column": 81 }, "identifierName": "difference_y" }, "name": "difference_y" } } } } ], "kind": "const" }, { "type": "IfStatement", "start": 8648, "end": 8713, "loc": { "start": { "line": 299, "column": 1 }, "end": { "line": 301, "column": 2 } }, "test": { "type": "BinaryExpression", "start": 8651, "end": 8691, "loc": { "start": { "line": 299, "column": 4 }, "end": { "line": 299, "column": 44 } }, "left": { "type": "Identifier", "start": 8651, "end": 8665, "loc": { "start": { "line": 299, "column": 4 }, "end": { "line": 299, "column": 18 }, "identifierName": "length_squared" }, "name": "length_squared" }, "operator": ">", "right": { "type": "BinaryExpression", "start": 8668, "end": 8691, "loc": { "start": { "line": 299, "column": 21 }, "end": { "line": 299, "column": 44 } }, "left": { "type": "Identifier", "start": 8668, "end": 8678, "loc": { "start": { "line": 299, "column": 21 }, "end": { "line": 299, "column": 31 }, "identifierName": "radius_sum" }, "name": "radius_sum" }, "operator": "*", "right": { "type": "Identifier", "start": 8681, "end": 8691, "loc": { "start": { "line": 299, "column": 34 }, "end": { "line": 299, "column": 44 }, "identifierName": "radius_sum" }, "name": "radius_sum" } } }, "consequent": { "type": "BlockStatement", "start": 8693, "end": 8713, "loc": { "start": { "line": 299, "column": 46 }, "end": { "line": 301, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 8697, "end": 8710, "loc": { "start": { "line": 300, "column": 2 }, "end": { "line": 300, "column": 15 } }, "argument": { "type": "BooleanLiteral", "start": 8704, "end": 8709, "loc": { "start": { "line": 300, "column": 9 }, "end": { "line": 300, "column": 14 } }, "value": false } } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 8716, "end": 9058, "loc": { "start": { "line": 303, "column": 1 }, "end": { "line": 311, "column": 2 } }, "test": { "type": "Identifier", "start": 8719, "end": 8725, "loc": { "start": { "line": 303, "column": 4 }, "end": { "line": 303, "column": 10 }, "identifierName": "result" }, "name": "result" }, "consequent": { "type": "BlockStatement", "start": 8727, "end": 9058, "loc": { "start": { "line": 303, "column": 12 }, "end": { "line": 311, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 8731, "end": 8772, "loc": { "start": { "line": 304, "column": 2 }, "end": { "line": 304, "column": 43 } }, "declarations": [ { "type": "VariableDeclarator", "start": 8737, "end": 8771, "loc": { "start": { "line": 304, "column": 8 }, "end": { "line": 304, "column": 42 } }, "id": { "type": "Identifier", "start": 8737, "end": 8743, "loc": { "start": { "line": 304, "column": 8 }, "end": { "line": 304, "column": 14 }, "identifierName": "length" }, "name": "length" }, "init": { "type": "CallExpression", "start": 8746, "end": 8771, "loc": { "start": { "line": 304, "column": 17 }, "end": { "line": 304, "column": 42 } }, "callee": { "type": "MemberExpression", "start": 8746, "end": 8755, "loc": { "start": { "line": 304, "column": 17 }, "end": { "line": 304, "column": 26 } }, "object": { "type": "Identifier", "start": 8746, "end": 8750, "loc": { "start": { "line": 304, "column": 17 }, "end": { "line": 304, "column": 21 }, "identifierName": "Math" }, "name": "Math" }, "property": { "type": "Identifier", "start": 8751, "end": 8755, "loc": { "start": { "line": 304, "column": 22 }, "end": { "line": 304, "column": 26 }, "identifierName": "sqrt" }, "name": "sqrt" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 8756, "end": 8770, "loc": { "start": { "line": 304, "column": 27 }, "end": { "line": 304, "column": 41 }, "identifierName": "length_squared" }, "name": "length_squared" } ] } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 8776, "end": 8849, "loc": { "start": { "line": 306, "column": 2 }, "end": { "line": 306, "column": 75 } }, "expression": { "type": "AssignmentExpression", "start": 8776, "end": 8848, "loc": { "start": { "line": 306, "column": 2 }, "end": { "line": 306, "column": 74 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 8776, "end": 8789, "loc": { "start": { "line": 306, "column": 2 }, "end": { "line": 306, "column": 15 } }, "object": { "type": "Identifier", "start": 8776, "end": 8782, "loc": { "start": { "line": 306, "column": 2 }, "end": { "line": 306, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 8783, "end": 8789, "loc": { "start": { "line": 306, "column": 9 }, "end": { "line": 306, "column": 15 }, "identifierName": "a_in_b" }, "name": "a_in_b" }, "computed": false }, "right": { "type": "LogicalExpression", "start": 8795, "end": 8848, "loc": { "start": { "line": 306, "column": 21 }, "end": { "line": 306, "column": 74 } }, "left": { "type": "BinaryExpression", "start": 8795, "end": 8815, "loc": { "start": { "line": 306, "column": 21 }, "end": { "line": 306, "column": 41 } }, "left": { "type": "Identifier", "start": 8795, "end": 8803, "loc": { "start": { "line": 306, "column": 21 }, "end": { "line": 306, "column": 29 }, "identifierName": "a_radius" }, "name": "a_radius" }, "operator": "<=", "right": { "type": "Identifier", "start": 8807, "end": 8815, "loc": { "start": { "line": 306, "column": 33 }, "end": { "line": 306, "column": 41 }, "identifierName": "b_radius" }, "name": "b_radius" } }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 8819, "end": 8848, "loc": { "start": { "line": 306, "column": 45 }, "end": { "line": 306, "column": 74 } }, "left": { "type": "Identifier", "start": 8819, "end": 8825, "loc": { "start": { "line": 306, "column": 45 }, "end": { "line": 306, "column": 51 }, "identifierName": "length" }, "name": "length" }, "operator": "<=", "right": { "type": "BinaryExpression", "start": 8829, "end": 8848, "loc": { "start": { "line": 306, "column": 55 }, "end": { "line": 306, "column": 74 } }, "left": { "type": "Identifier", "start": 8829, "end": 8837, "loc": { "start": { "line": 306, "column": 55 }, "end": { "line": 306, "column": 63 }, "identifierName": "b_radius" }, "name": "b_radius" }, "operator": "-", "right": { "type": "Identifier", "start": 8840, "end": 8848, "loc": { "start": { "line": 306, "column": 66 }, "end": { "line": 306, "column": 74 }, "identifierName": "a_radius" }, "name": "a_radius" } } } } } }, { "type": "ExpressionStatement", "start": 8852, "end": 8925, "loc": { "start": { "line": 307, "column": 2 }, "end": { "line": 307, "column": 75 } }, "expression": { "type": "AssignmentExpression", "start": 8852, "end": 8924, "loc": { "start": { "line": 307, "column": 2 }, "end": { "line": 307, "column": 74 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 8852, "end": 8865, "loc": { "start": { "line": 307, "column": 2 }, "end": { "line": 307, "column": 15 } }, "object": { "type": "Identifier", "start": 8852, "end": 8858, "loc": { "start": { "line": 307, "column": 2 }, "end": { "line": 307, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 8859, "end": 8865, "loc": { "start": { "line": 307, "column": 9 }, "end": { "line": 307, "column": 15 }, "identifierName": "b_in_a" }, "name": "b_in_a" }, "computed": false }, "right": { "type": "LogicalExpression", "start": 8871, "end": 8924, "loc": { "start": { "line": 307, "column": 21 }, "end": { "line": 307, "column": 74 } }, "left": { "type": "BinaryExpression", "start": 8871, "end": 8891, "loc": { "start": { "line": 307, "column": 21 }, "end": { "line": 307, "column": 41 } }, "left": { "type": "Identifier", "start": 8871, "end": 8879, "loc": { "start": { "line": 307, "column": 21 }, "end": { "line": 307, "column": 29 }, "identifierName": "b_radius" }, "name": "b_radius" }, "operator": "<=", "right": { "type": "Identifier", "start": 8883, "end": 8891, "loc": { "start": { "line": 307, "column": 33 }, "end": { "line": 307, "column": 41 }, "identifierName": "a_radius" }, "name": "a_radius" } }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 8895, "end": 8924, "loc": { "start": { "line": 307, "column": 45 }, "end": { "line": 307, "column": 74 } }, "left": { "type": "Identifier", "start": 8895, "end": 8901, "loc": { "start": { "line": 307, "column": 45 }, "end": { "line": 307, "column": 51 }, "identifierName": "length" }, "name": "length" }, "operator": "<=", "right": { "type": "BinaryExpression", "start": 8905, "end": 8924, "loc": { "start": { "line": 307, "column": 55 }, "end": { "line": 307, "column": 74 } }, "left": { "type": "Identifier", "start": 8905, "end": 8913, "loc": { "start": { "line": 307, "column": 55 }, "end": { "line": 307, "column": 63 }, "identifierName": "a_radius" }, "name": "a_radius" }, "operator": "-", "right": { "type": "Identifier", "start": 8916, "end": 8924, "loc": { "start": { "line": 307, "column": 66 }, "end": { "line": 307, "column": 74 }, "identifierName": "b_radius" }, "name": "b_radius" } } } } } }, { "type": "ExpressionStatement", "start": 8928, "end": 8967, "loc": { "start": { "line": 308, "column": 2 }, "end": { "line": 308, "column": 41 } }, "expression": { "type": "AssignmentExpression", "start": 8928, "end": 8966, "loc": { "start": { "line": 308, "column": 2 }, "end": { "line": 308, "column": 40 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 8928, "end": 8942, "loc": { "start": { "line": 308, "column": 2 }, "end": { "line": 308, "column": 16 } }, "object": { "type": "Identifier", "start": 8928, "end": 8934, "loc": { "start": { "line": 308, "column": 2 }, "end": { "line": 308, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 8935, "end": 8942, "loc": { "start": { "line": 308, "column": 9 }, "end": { "line": 308, "column": 16 }, "identifierName": "overlap" }, "name": "overlap" }, "computed": false }, "right": { "type": "BinaryExpression", "start": 8947, "end": 8966, "loc": { "start": { "line": 308, "column": 21 }, "end": { "line": 308, "column": 40 } }, "left": { "type": "Identifier", "start": 8947, "end": 8957, "loc": { "start": { "line": 308, "column": 21 }, "end": { "line": 308, "column": 31 }, "identifierName": "radius_sum" }, "name": "radius_sum" }, "operator": "-", "right": { "type": "Identifier", "start": 8960, "end": 8966, "loc": { "start": { "line": 308, "column": 34 }, "end": { "line": 308, "column": 40 }, "identifierName": "length" }, "name": "length" } } } }, { "type": "ExpressionStatement", "start": 8970, "end": 9011, "loc": { "start": { "line": 309, "column": 2 }, "end": { "line": 309, "column": 43 } }, "expression": { "type": "AssignmentExpression", "start": 8970, "end": 9010, "loc": { "start": { "line": 309, "column": 2 }, "end": { "line": 309, "column": 42 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 8970, "end": 8986, "loc": { "start": { "line": 309, "column": 2 }, "end": { "line": 309, "column": 18 } }, "object": { "type": "Identifier", "start": 8970, "end": 8976, "loc": { "start": { "line": 309, "column": 2 }, "end": { "line": 309, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 8977, "end": 8986, "loc": { "start": { "line": 309, "column": 9 }, "end": { "line": 309, "column": 18 }, "identifierName": "overlap_x" }, "name": "overlap_x" }, "computed": false }, "right": { "type": "BinaryExpression", "start": 8989, "end": 9010, "loc": { "start": { "line": 309, "column": 21 }, "end": { "line": 309, "column": 42 } }, "left": { "type": "Identifier", "start": 8989, "end": 9001, "loc": { "start": { "line": 309, "column": 21 }, "end": { "line": 309, "column": 33 }, "identifierName": "difference_x" }, "name": "difference_x" }, "operator": "/", "right": { "type": "Identifier", "start": 9004, "end": 9010, "loc": { "start": { "line": 309, "column": 36 }, "end": { "line": 309, "column": 42 }, "identifierName": "length" }, "name": "length" } } } }, { "type": "ExpressionStatement", "start": 9014, "end": 9055, "loc": { "start": { "line": 310, "column": 2 }, "end": { "line": 310, "column": 43 } }, "expression": { "type": "AssignmentExpression", "start": 9014, "end": 9054, "loc": { "start": { "line": 310, "column": 2 }, "end": { "line": 310, "column": 42 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 9014, "end": 9030, "loc": { "start": { "line": 310, "column": 2 }, "end": { "line": 310, "column": 18 } }, "object": { "type": "Identifier", "start": 9014, "end": 9020, "loc": { "start": { "line": 310, "column": 2 }, "end": { "line": 310, "column": 8 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 9021, "end": 9030, "loc": { "start": { "line": 310, "column": 9 }, "end": { "line": 310, "column": 18 }, "identifierName": "overlap_y" }, "name": "overlap_y" }, "computed": false }, "right": { "type": "BinaryExpression", "start": 9033, "end": 9054, "loc": { "start": { "line": 310, "column": 21 }, "end": { "line": 310, "column": 42 } }, "left": { "type": "Identifier", "start": 9033, "end": 9045, "loc": { "start": { "line": 310, "column": 21 }, "end": { "line": 310, "column": 33 }, "identifierName": "difference_y" }, "name": "difference_y" }, "operator": "/", "right": { "type": "Identifier", "start": 9048, "end": 9054, "loc": { "start": { "line": 310, "column": 36 }, "end": { "line": 310, "column": 42 }, "identifierName": "length" }, "name": "length" } } } } ], "directives": [] }, "alternate": null }, { "type": "ReturnStatement", "start": 9061, "end": 9073, "loc": { "start": { "line": 313, "column": 1 }, "end": { "line": 313, "column": 13 } }, "argument": { "type": "BooleanLiteral", "start": 9068, "end": 9072, "loc": { "start": { "line": 313, "column": 8 }, "end": { "line": 313, "column": 12 } }, "value": true } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * Determines if two circles are colliding\n * @param {Circle} a The source circle to test\n * @param {Circle} b The target circle to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n ", "start": 8039, "end": 8314, "loc": { "start": { "line": 284, "column": 0 }, "end": { "line": 290, "column": 3 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n * Determines if two polygons are separated by an axis\n * @param {Array} a_coords The coordinates of the polygon to test\n * @param {Array} b_coords The coordinates of the polygon to test against\n * @param {Number} x The X direction of the axis\n * @param {Number} y The Y direction of the axis\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n ", "start": 9077, "end": 9520, "loc": { "start": { "line": 316, "column": 0 }, "end": { "line": 324, "column": 3 } } } ] }, { "type": "FunctionDeclaration", "start": 9521, "end": 11273, "loc": { "start": { "line": 325, "column": 0 }, "end": { "line": 411, "column": 1 } }, "id": { "type": "Identifier", "start": 9530, "end": 9544, "loc": { "start": { "line": 325, "column": 9 }, "end": { "line": 325, "column": 23 }, "identifierName": "separatingAxis" }, "name": "separatingAxis", "leadingComments": null }, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 9545, "end": 9553, "loc": { "start": { "line": 325, "column": 24 }, "end": { "line": 325, "column": 32 }, "identifierName": "a_coords" }, "name": "a_coords" }, { "type": "Identifier", "start": 9555, "end": 9563, "loc": { "start": { "line": 325, "column": 34 }, "end": { "line": 325, "column": 42 }, "identifierName": "b_coords" }, "name": "b_coords" }, { "type": "Identifier", "start": 9565, "end": 9566, "loc": { "start": { "line": 325, "column": 44 }, "end": { "line": 325, "column": 45 }, "identifierName": "x" }, "name": "x" }, { "type": "Identifier", "start": 9568, "end": 9569, "loc": { "start": { "line": 325, "column": 47 }, "end": { "line": 325, "column": 48 }, "identifierName": "y" }, "name": "y" }, { "type": "AssignmentPattern", "start": 9571, "end": 9584, "loc": { "start": { "line": 325, "column": 50 }, "end": { "line": 325, "column": 63 } }, "left": { "type": "Identifier", "start": 9571, "end": 9577, "loc": { "start": { "line": 325, "column": 50 }, "end": { "line": 325, "column": 56 }, "identifierName": "result" }, "name": "result" }, "right": { "type": "NullLiteral", "start": 9580, "end": 9584, "loc": { "start": { "line": 325, "column": 59 }, "end": { "line": 325, "column": 63 } } } } ], "body": { "type": "BlockStatement", "start": 9586, "end": 11273, "loc": { "start": { "line": 325, "column": 65 }, "end": { "line": 411, "column": 1 } }, "body": [ { "type": "VariableDeclaration", "start": 9589, "end": 9621, "loc": { "start": { "line": 326, "column": 1 }, "end": { "line": 326, "column": 33 } }, "declarations": [ { "type": "VariableDeclarator", "start": 9595, "end": 9620, "loc": { "start": { "line": 326, "column": 7 }, "end": { "line": 326, "column": 32 } }, "id": { "type": "Identifier", "start": 9595, "end": 9602, "loc": { "start": { "line": 326, "column": 7 }, "end": { "line": 326, "column": 14 }, "identifierName": "a_count" }, "name": "a_count" }, "init": { "type": "MemberExpression", "start": 9605, "end": 9620, "loc": { "start": { "line": 326, "column": 17 }, "end": { "line": 326, "column": 32 } }, "object": { "type": "Identifier", "start": 9605, "end": 9613, "loc": { "start": { "line": 326, "column": 17 }, "end": { "line": 326, "column": 25 }, "identifierName": "a_coords" }, "name": "a_coords" }, "property": { "type": "Identifier", "start": 9614, "end": 9620, "loc": { "start": { "line": 326, "column": 26 }, "end": { "line": 326, "column": 32 }, "identifierName": "length" }, "name": "length" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 9623, "end": 9655, "loc": { "start": { "line": 327, "column": 1 }, "end": { "line": 327, "column": 33 } }, "declarations": [ { "type": "VariableDeclarator", "start": 9629, "end": 9654, "loc": { "start": { "line": 327, "column": 7 }, "end": { "line": 327, "column": 32 } }, "id": { "type": "Identifier", "start": 9629, "end": 9636, "loc": { "start": { "line": 327, "column": 7 }, "end": { "line": 327, "column": 14 }, "identifierName": "b_count" }, "name": "b_count" }, "init": { "type": "MemberExpression", "start": 9639, "end": 9654, "loc": { "start": { "line": 327, "column": 17 }, "end": { "line": 327, "column": 32 } }, "object": { "type": "Identifier", "start": 9639, "end": 9647, "loc": { "start": { "line": 327, "column": 17 }, "end": { "line": 327, "column": 25 }, "identifierName": "b_coords" }, "name": "b_coords" }, "property": { "type": "Identifier", "start": 9648, "end": 9654, "loc": { "start": { "line": 327, "column": 26 }, "end": { "line": 327, "column": 32 }, "identifierName": "length" }, "name": "length" }, "computed": false } } ], "kind": "const" }, { "type": "IfStatement", "start": 9658, "end": 9702, "loc": { "start": { "line": 329, "column": 1 }, "end": { "line": 331, "column": 2 } }, "test": { "type": "LogicalExpression", "start": 9661, "end": 9681, "loc": { "start": { "line": 329, "column": 4 }, "end": { "line": 329, "column": 24 } }, "left": { "type": "UnaryExpression", "start": 9661, "end": 9669, "loc": { "start": { "line": 329, "column": 4 }, "end": { "line": 329, "column": 12 } }, "operator": "!", "prefix": true, "argument": { "type": "Identifier", "start": 9662, "end": 9669, "loc": { "start": { "line": 329, "column": 5 }, "end": { "line": 329, "column": 12 }, "identifierName": "a_count" }, "name": "a_count" }, "extra": { "parenthesizedArgument": false } }, "operator": "||", "right": { "type": "UnaryExpression", "start": 9673, "end": 9681, "loc": { "start": { "line": 329, "column": 16 }, "end": { "line": 329, "column": 24 } }, "operator": "!", "prefix": true, "argument": { "type": "Identifier", "start": 9674, "end": 9681, "loc": { "start": { "line": 329, "column": 17 }, "end": { "line": 329, "column": 24 }, "identifierName": "b_count" }, "name": "b_count" }, "extra": { "parenthesizedArgument": false } } }, "consequent": { "type": "BlockStatement", "start": 9683, "end": 9702, "loc": { "start": { "line": 329, "column": 26 }, "end": { "line": 331, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 9687, "end": 9699, "loc": { "start": { "line": 330, "column": 2 }, "end": { "line": 330, "column": 14 } }, "argument": { "type": "BooleanLiteral", "start": 9694, "end": 9698, "loc": { "start": { "line": 330, "column": 9 }, "end": { "line": 330, "column": 13 } }, "value": true } } ], "directives": [] }, "alternate": null }, { "type": "VariableDeclaration", "start": 9705, "end": 9724, "loc": { "start": { "line": 333, "column": 1 }, "end": { "line": 333, "column": 20 } }, "declarations": [ { "type": "VariableDeclarator", "start": 9709, "end": 9723, "loc": { "start": { "line": 333, "column": 5 }, "end": { "line": 333, "column": 19 } }, "id": { "type": "Identifier", "start": 9709, "end": 9716, "loc": { "start": { "line": 333, "column": 5 }, "end": { "line": 333, "column": 12 }, "identifierName": "a_start" }, "name": "a_start" }, "init": { "type": "NullLiteral", "start": 9719, "end": 9723, "loc": { "start": { "line": 333, "column": 15 }, "end": { "line": 333, "column": 19 } } } } ], "kind": "let" }, { "type": "VariableDeclaration", "start": 9726, "end": 9745, "loc": { "start": { "line": 334, "column": 1 }, "end": { "line": 334, "column": 20 } }, "declarations": [ { "type": "VariableDeclarator", "start": 9730, "end": 9744, "loc": { "start": { "line": 334, "column": 5 }, "end": { "line": 334, "column": 19 } }, "id": { "type": "Identifier", "start": 9730, "end": 9735, "loc": { "start": { "line": 334, "column": 5 }, "end": { "line": 334, "column": 10 }, "identifierName": "a_end" }, "name": "a_end" }, "init": { "type": "NullLiteral", "start": 9740, "end": 9744, "loc": { "start": { "line": 334, "column": 15 }, "end": { "line": 334, "column": 19 } } } } ], "kind": "let" }, { "type": "VariableDeclaration", "start": 9747, "end": 9766, "loc": { "start": { "line": 335, "column": 1 }, "end": { "line": 335, "column": 20 } }, "declarations": [ { "type": "VariableDeclarator", "start": 9751, "end": 9765, "loc": { "start": { "line": 335, "column": 5 }, "end": { "line": 335, "column": 19 } }, "id": { "type": "Identifier", "start": 9751, "end": 9758, "loc": { "start": { "line": 335, "column": 5 }, "end": { "line": 335, "column": 12 }, "identifierName": "b_start" }, "name": "b_start" }, "init": { "type": "NullLiteral", "start": 9761, "end": 9765, "loc": { "start": { "line": 335, "column": 15 }, "end": { "line": 335, "column": 19 } } } } ], "kind": "let" }, { "type": "VariableDeclaration", "start": 9768, "end": 9787, "loc": { "start": { "line": 336, "column": 1 }, "end": { "line": 336, "column": 20 } }, "declarations": [ { "type": "VariableDeclarator", "start": 9772, "end": 9786, "loc": { "start": { "line": 336, "column": 5 }, "end": { "line": 336, "column": 19 } }, "id": { "type": "Identifier", "start": 9772, "end": 9777, "loc": { "start": { "line": 336, "column": 5 }, "end": { "line": 336, "column": 10 }, "identifierName": "b_end" }, "name": "b_end" }, "init": { "type": "NullLiteral", "start": 9782, "end": 9786, "loc": { "start": { "line": 336, "column": 15 }, "end": { "line": 336, "column": 19 } } } } ], "kind": "let" }, { "type": "ForStatement", "start": 9790, "end": 10025, "loc": { "start": { "line": 338, "column": 1 }, "end": { "line": 348, "column": 2 } }, "init": { "type": "VariableDeclaration", "start": 9794, "end": 9812, "loc": { "start": { "line": 338, "column": 5 }, "end": { "line": 338, "column": 23 } }, "declarations": [ { "type": "VariableDeclarator", "start": 9798, "end": 9804, "loc": { "start": { "line": 338, "column": 9 }, "end": { "line": 338, "column": 15 } }, "id": { "type": "Identifier", "start": 9798, "end": 9800, "loc": { "start": { "line": 338, "column": 9 }, "end": { "line": 338, "column": 11 }, "identifierName": "ix" }, "name": "ix" }, "init": { "type": "NumericLiteral", "start": 9803, "end": 9804, "loc": { "start": { "line": 338, "column": 14 }, "end": { "line": 338, "column": 15 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "VariableDeclarator", "start": 9806, "end": 9812, "loc": { "start": { "line": 338, "column": 17 }, "end": { "line": 338, "column": 23 } }, "id": { "type": "Identifier", "start": 9806, "end": 9808, "loc": { "start": { "line": 338, "column": 17 }, "end": { "line": 338, "column": 19 }, "identifierName": "iy" }, "name": "iy" }, "init": { "type": "NumericLiteral", "start": 9811, "end": 9812, "loc": { "start": { "line": 338, "column": 22 }, "end": { "line": 338, "column": 23 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } } ], "kind": "let" }, "test": { "type": "BinaryExpression", "start": 9814, "end": 9826, "loc": { "start": { "line": 338, "column": 25 }, "end": { "line": 338, "column": 37 } }, "left": { "type": "Identifier", "start": 9814, "end": 9816, "loc": { "start": { "line": 338, "column": 25 }, "end": { "line": 338, "column": 27 }, "identifierName": "ix" }, "name": "ix" }, "operator": "<", "right": { "type": "Identifier", "start": 9819, "end": 9826, "loc": { "start": { "line": 338, "column": 30 }, "end": { "line": 338, "column": 37 }, "identifierName": "a_count" }, "name": "a_count" } }, "update": { "type": "SequenceExpression", "start": 9828, "end": 9844, "loc": { "start": { "line": 338, "column": 39 }, "end": { "line": 338, "column": 55 } }, "expressions": [ { "type": "AssignmentExpression", "start": 9828, "end": 9835, "loc": { "start": { "line": 338, "column": 39 }, "end": { "line": 338, "column": 46 } }, "operator": "+=", "left": { "type": "Identifier", "start": 9828, "end": 9830, "loc": { "start": { "line": 338, "column": 39 }, "end": { "line": 338, "column": 41 }, "identifierName": "ix" }, "name": "ix" }, "right": { "type": "NumericLiteral", "start": 9834, "end": 9835, "loc": { "start": { "line": 338, "column": 45 }, "end": { "line": 338, "column": 46 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, { "type": "AssignmentExpression", "start": 9837, "end": 9844, "loc": { "start": { "line": 338, "column": 48 }, "end": { "line": 338, "column": 55 } }, "operator": "+=", "left": { "type": "Identifier", "start": 9837, "end": 9839, "loc": { "start": { "line": 338, "column": 48 }, "end": { "line": 338, "column": 50 }, "identifierName": "iy" }, "name": "iy" }, "right": { "type": "NumericLiteral", "start": 9843, "end": 9844, "loc": { "start": { "line": 338, "column": 54 }, "end": { "line": 338, "column": 55 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } } ] }, "body": { "type": "BlockStatement", "start": 9846, "end": 10025, "loc": { "start": { "line": 338, "column": 57 }, "end": { "line": 348, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 9850, "end": 9898, "loc": { "start": { "line": 339, "column": 2 }, "end": { "line": 339, "column": 50 } }, "declarations": [ { "type": "VariableDeclarator", "start": 9856, "end": 9897, "loc": { "start": { "line": 339, "column": 8 }, "end": { "line": 339, "column": 49 } }, "id": { "type": "Identifier", "start": 9856, "end": 9859, "loc": { "start": { "line": 339, "column": 8 }, "end": { "line": 339, "column": 11 }, "identifierName": "dot" }, "name": "dot" }, "init": { "type": "BinaryExpression", "start": 9862, "end": 9897, "loc": { "start": { "line": 339, "column": 14 }, "end": { "line": 339, "column": 49 } }, "left": { "type": "BinaryExpression", "start": 9862, "end": 9878, "loc": { "start": { "line": 339, "column": 14 }, "end": { "line": 339, "column": 30 } }, "left": { "type": "MemberExpression", "start": 9862, "end": 9874, "loc": { "start": { "line": 339, "column": 14 }, "end": { "line": 339, "column": 26 } }, "object": { "type": "Identifier", "start": 9862, "end": 9870, "loc": { "start": { "line": 339, "column": 14 }, "end": { "line": 339, "column": 22 }, "identifierName": "a_coords" }, "name": "a_coords" }, "property": { "type": "Identifier", "start": 9871, "end": 9873, "loc": { "start": { "line": 339, "column": 23 }, "end": { "line": 339, "column": 25 }, "identifierName": "ix" }, "name": "ix" }, "computed": true }, "operator": "*", "right": { "type": "Identifier", "start": 9877, "end": 9878, "loc": { "start": { "line": 339, "column": 29 }, "end": { "line": 339, "column": 30 }, "identifierName": "x" }, "name": "x" } }, "operator": "+", "right": { "type": "BinaryExpression", "start": 9881, "end": 9897, "loc": { "start": { "line": 339, "column": 33 }, "end": { "line": 339, "column": 49 } }, "left": { "type": "MemberExpression", "start": 9881, "end": 9893, "loc": { "start": { "line": 339, "column": 33 }, "end": { "line": 339, "column": 45 } }, "object": { "type": "Identifier", "start": 9881, "end": 9889, "loc": { "start": { "line": 339, "column": 33 }, "end": { "line": 339, "column": 41 }, "identifierName": "a_coords" }, "name": "a_coords" }, "property": { "type": "Identifier", "start": 9890, "end": 9892, "loc": { "start": { "line": 339, "column": 42 }, "end": { "line": 339, "column": 44 }, "identifierName": "iy" }, "name": "iy" }, "computed": true }, "operator": "*", "right": { "type": "Identifier", "start": 9896, "end": 9897, "loc": { "start": { "line": 339, "column": 48 }, "end": { "line": 339, "column": 49 }, "identifierName": "y" }, "name": "y" } } } } ], "kind": "const" }, { "type": "IfStatement", "start": 9902, "end": 9963, "loc": { "start": { "line": 341, "column": 2 }, "end": { "line": 343, "column": 3 } }, "test": { "type": "LogicalExpression", "start": 9905, "end": 9938, "loc": { "start": { "line": 341, "column": 5 }, "end": { "line": 341, "column": 38 } }, "left": { "type": "BinaryExpression", "start": 9905, "end": 9921, "loc": { "start": { "line": 341, "column": 5 }, "end": { "line": 341, "column": 21 } }, "left": { "type": "Identifier", "start": 9905, "end": 9912, "loc": { "start": { "line": 341, "column": 5 }, "end": { "line": 341, "column": 12 }, "identifierName": "a_start" }, "name": "a_start" }, "operator": "===", "right": { "type": "NullLiteral", "start": 9917, "end": 9921, "loc": { "start": { "line": 341, "column": 17 }, "end": { "line": 341, "column": 21 } } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 9925, "end": 9938, "loc": { "start": { "line": 341, "column": 25 }, "end": { "line": 341, "column": 38 } }, "left": { "type": "Identifier", "start": 9925, "end": 9932, "loc": { "start": { "line": 341, "column": 25 }, "end": { "line": 341, "column": 32 }, "identifierName": "a_start" }, "name": "a_start" }, "operator": ">", "right": { "type": "Identifier", "start": 9935, "end": 9938, "loc": { "start": { "line": 341, "column": 35 }, "end": { "line": 341, "column": 38 }, "identifierName": "dot" }, "name": "dot" } } }, "consequent": { "type": "BlockStatement", "start": 9940, "end": 9963, "loc": { "start": { "line": 341, "column": 40 }, "end": { "line": 343, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 9945, "end": 9959, "loc": { "start": { "line": 342, "column": 3 }, "end": { "line": 342, "column": 17 } }, "expression": { "type": "AssignmentExpression", "start": 9945, "end": 9958, "loc": { "start": { "line": 342, "column": 3 }, "end": { "line": 342, "column": 16 } }, "operator": "=", "left": { "type": "Identifier", "start": 9945, "end": 9952, "loc": { "start": { "line": 342, "column": 3 }, "end": { "line": 342, "column": 10 }, "identifierName": "a_start" }, "name": "a_start" }, "right": { "type": "Identifier", "start": 9955, "end": 9958, "loc": { "start": { "line": 342, "column": 13 }, "end": { "line": 342, "column": 16 }, "identifierName": "dot" }, "name": "dot" } } } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 9967, "end": 10022, "loc": { "start": { "line": 345, "column": 2 }, "end": { "line": 347, "column": 3 } }, "test": { "type": "LogicalExpression", "start": 9970, "end": 9999, "loc": { "start": { "line": 345, "column": 5 }, "end": { "line": 345, "column": 34 } }, "left": { "type": "BinaryExpression", "start": 9970, "end": 9984, "loc": { "start": { "line": 345, "column": 5 }, "end": { "line": 345, "column": 19 } }, "left": { "type": "Identifier", "start": 9970, "end": 9975, "loc": { "start": { "line": 345, "column": 5 }, "end": { "line": 345, "column": 10 }, "identifierName": "a_end" }, "name": "a_end" }, "operator": "===", "right": { "type": "NullLiteral", "start": 9980, "end": 9984, "loc": { "start": { "line": 345, "column": 15 }, "end": { "line": 345, "column": 19 } } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 9988, "end": 9999, "loc": { "start": { "line": 345, "column": 23 }, "end": { "line": 345, "column": 34 } }, "left": { "type": "Identifier", "start": 9988, "end": 9993, "loc": { "start": { "line": 345, "column": 23 }, "end": { "line": 345, "column": 28 }, "identifierName": "a_end" }, "name": "a_end" }, "operator": "<", "right": { "type": "Identifier", "start": 9996, "end": 9999, "loc": { "start": { "line": 345, "column": 31 }, "end": { "line": 345, "column": 34 }, "identifierName": "dot" }, "name": "dot" } } }, "consequent": { "type": "BlockStatement", "start": 10001, "end": 10022, "loc": { "start": { "line": 345, "column": 36 }, "end": { "line": 347, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 10006, "end": 10018, "loc": { "start": { "line": 346, "column": 3 }, "end": { "line": 346, "column": 15 } }, "expression": { "type": "AssignmentExpression", "start": 10006, "end": 10017, "loc": { "start": { "line": 346, "column": 3 }, "end": { "line": 346, "column": 14 } }, "operator": "=", "left": { "type": "Identifier", "start": 10006, "end": 10011, "loc": { "start": { "line": 346, "column": 3 }, "end": { "line": 346, "column": 8 }, "identifierName": "a_end" }, "name": "a_end" }, "right": { "type": "Identifier", "start": 10014, "end": 10017, "loc": { "start": { "line": 346, "column": 11 }, "end": { "line": 346, "column": 14 }, "identifierName": "dot" }, "name": "dot" } } } ], "directives": [] }, "alternate": null } ], "directives": [] } }, { "type": "ForStatement", "start": 10028, "end": 10263, "loc": { "start": { "line": 350, "column": 1 }, "end": { "line": 360, "column": 2 } }, "init": { "type": "VariableDeclaration", "start": 10032, "end": 10050, "loc": { "start": { "line": 350, "column": 5 }, "end": { "line": 350, "column": 23 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10036, "end": 10042, "loc": { "start": { "line": 350, "column": 9 }, "end": { "line": 350, "column": 15 } }, "id": { "type": "Identifier", "start": 10036, "end": 10038, "loc": { "start": { "line": 350, "column": 9 }, "end": { "line": 350, "column": 11 }, "identifierName": "ix" }, "name": "ix" }, "init": { "type": "NumericLiteral", "start": 10041, "end": 10042, "loc": { "start": { "line": 350, "column": 14 }, "end": { "line": 350, "column": 15 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, { "type": "VariableDeclarator", "start": 10044, "end": 10050, "loc": { "start": { "line": 350, "column": 17 }, "end": { "line": 350, "column": 23 } }, "id": { "type": "Identifier", "start": 10044, "end": 10046, "loc": { "start": { "line": 350, "column": 17 }, "end": { "line": 350, "column": 19 }, "identifierName": "iy" }, "name": "iy" }, "init": { "type": "NumericLiteral", "start": 10049, "end": 10050, "loc": { "start": { "line": 350, "column": 22 }, "end": { "line": 350, "column": 23 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } } ], "kind": "let" }, "test": { "type": "BinaryExpression", "start": 10052, "end": 10064, "loc": { "start": { "line": 350, "column": 25 }, "end": { "line": 350, "column": 37 } }, "left": { "type": "Identifier", "start": 10052, "end": 10054, "loc": { "start": { "line": 350, "column": 25 }, "end": { "line": 350, "column": 27 }, "identifierName": "ix" }, "name": "ix" }, "operator": "<", "right": { "type": "Identifier", "start": 10057, "end": 10064, "loc": { "start": { "line": 350, "column": 30 }, "end": { "line": 350, "column": 37 }, "identifierName": "b_count" }, "name": "b_count" } }, "update": { "type": "SequenceExpression", "start": 10066, "end": 10082, "loc": { "start": { "line": 350, "column": 39 }, "end": { "line": 350, "column": 55 } }, "expressions": [ { "type": "AssignmentExpression", "start": 10066, "end": 10073, "loc": { "start": { "line": 350, "column": 39 }, "end": { "line": 350, "column": 46 } }, "operator": "+=", "left": { "type": "Identifier", "start": 10066, "end": 10068, "loc": { "start": { "line": 350, "column": 39 }, "end": { "line": 350, "column": 41 }, "identifierName": "ix" }, "name": "ix" }, "right": { "type": "NumericLiteral", "start": 10072, "end": 10073, "loc": { "start": { "line": 350, "column": 45 }, "end": { "line": 350, "column": 46 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } }, { "type": "AssignmentExpression", "start": 10075, "end": 10082, "loc": { "start": { "line": 350, "column": 48 }, "end": { "line": 350, "column": 55 } }, "operator": "+=", "left": { "type": "Identifier", "start": 10075, "end": 10077, "loc": { "start": { "line": 350, "column": 48 }, "end": { "line": 350, "column": 50 }, "identifierName": "iy" }, "name": "iy" }, "right": { "type": "NumericLiteral", "start": 10081, "end": 10082, "loc": { "start": { "line": 350, "column": 54 }, "end": { "line": 350, "column": 55 } }, "extra": { "rawValue": 2, "raw": "2" }, "value": 2 } } ] }, "body": { "type": "BlockStatement", "start": 10084, "end": 10263, "loc": { "start": { "line": 350, "column": 57 }, "end": { "line": 360, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 10088, "end": 10136, "loc": { "start": { "line": 351, "column": 2 }, "end": { "line": 351, "column": 50 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10094, "end": 10135, "loc": { "start": { "line": 351, "column": 8 }, "end": { "line": 351, "column": 49 } }, "id": { "type": "Identifier", "start": 10094, "end": 10097, "loc": { "start": { "line": 351, "column": 8 }, "end": { "line": 351, "column": 11 }, "identifierName": "dot" }, "name": "dot" }, "init": { "type": "BinaryExpression", "start": 10100, "end": 10135, "loc": { "start": { "line": 351, "column": 14 }, "end": { "line": 351, "column": 49 } }, "left": { "type": "BinaryExpression", "start": 10100, "end": 10116, "loc": { "start": { "line": 351, "column": 14 }, "end": { "line": 351, "column": 30 } }, "left": { "type": "MemberExpression", "start": 10100, "end": 10112, "loc": { "start": { "line": 351, "column": 14 }, "end": { "line": 351, "column": 26 } }, "object": { "type": "Identifier", "start": 10100, "end": 10108, "loc": { "start": { "line": 351, "column": 14 }, "end": { "line": 351, "column": 22 }, "identifierName": "b_coords" }, "name": "b_coords" }, "property": { "type": "Identifier", "start": 10109, "end": 10111, "loc": { "start": { "line": 351, "column": 23 }, "end": { "line": 351, "column": 25 }, "identifierName": "ix" }, "name": "ix" }, "computed": true }, "operator": "*", "right": { "type": "Identifier", "start": 10115, "end": 10116, "loc": { "start": { "line": 351, "column": 29 }, "end": { "line": 351, "column": 30 }, "identifierName": "x" }, "name": "x" } }, "operator": "+", "right": { "type": "BinaryExpression", "start": 10119, "end": 10135, "loc": { "start": { "line": 351, "column": 33 }, "end": { "line": 351, "column": 49 } }, "left": { "type": "MemberExpression", "start": 10119, "end": 10131, "loc": { "start": { "line": 351, "column": 33 }, "end": { "line": 351, "column": 45 } }, "object": { "type": "Identifier", "start": 10119, "end": 10127, "loc": { "start": { "line": 351, "column": 33 }, "end": { "line": 351, "column": 41 }, "identifierName": "b_coords" }, "name": "b_coords" }, "property": { "type": "Identifier", "start": 10128, "end": 10130, "loc": { "start": { "line": 351, "column": 42 }, "end": { "line": 351, "column": 44 }, "identifierName": "iy" }, "name": "iy" }, "computed": true }, "operator": "*", "right": { "type": "Identifier", "start": 10134, "end": 10135, "loc": { "start": { "line": 351, "column": 48 }, "end": { "line": 351, "column": 49 }, "identifierName": "y" }, "name": "y" } } } } ], "kind": "const" }, { "type": "IfStatement", "start": 10140, "end": 10201, "loc": { "start": { "line": 353, "column": 2 }, "end": { "line": 355, "column": 3 } }, "test": { "type": "LogicalExpression", "start": 10143, "end": 10176, "loc": { "start": { "line": 353, "column": 5 }, "end": { "line": 353, "column": 38 } }, "left": { "type": "BinaryExpression", "start": 10143, "end": 10159, "loc": { "start": { "line": 353, "column": 5 }, "end": { "line": 353, "column": 21 } }, "left": { "type": "Identifier", "start": 10143, "end": 10150, "loc": { "start": { "line": 353, "column": 5 }, "end": { "line": 353, "column": 12 }, "identifierName": "b_start" }, "name": "b_start" }, "operator": "===", "right": { "type": "NullLiteral", "start": 10155, "end": 10159, "loc": { "start": { "line": 353, "column": 17 }, "end": { "line": 353, "column": 21 } } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 10163, "end": 10176, "loc": { "start": { "line": 353, "column": 25 }, "end": { "line": 353, "column": 38 } }, "left": { "type": "Identifier", "start": 10163, "end": 10170, "loc": { "start": { "line": 353, "column": 25 }, "end": { "line": 353, "column": 32 }, "identifierName": "b_start" }, "name": "b_start" }, "operator": ">", "right": { "type": "Identifier", "start": 10173, "end": 10176, "loc": { "start": { "line": 353, "column": 35 }, "end": { "line": 353, "column": 38 }, "identifierName": "dot" }, "name": "dot" } } }, "consequent": { "type": "BlockStatement", "start": 10178, "end": 10201, "loc": { "start": { "line": 353, "column": 40 }, "end": { "line": 355, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 10183, "end": 10197, "loc": { "start": { "line": 354, "column": 3 }, "end": { "line": 354, "column": 17 } }, "expression": { "type": "AssignmentExpression", "start": 10183, "end": 10196, "loc": { "start": { "line": 354, "column": 3 }, "end": { "line": 354, "column": 16 } }, "operator": "=", "left": { "type": "Identifier", "start": 10183, "end": 10190, "loc": { "start": { "line": 354, "column": 3 }, "end": { "line": 354, "column": 10 }, "identifierName": "b_start" }, "name": "b_start" }, "right": { "type": "Identifier", "start": 10193, "end": 10196, "loc": { "start": { "line": 354, "column": 13 }, "end": { "line": 354, "column": 16 }, "identifierName": "dot" }, "name": "dot" } } } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 10205, "end": 10260, "loc": { "start": { "line": 357, "column": 2 }, "end": { "line": 359, "column": 3 } }, "test": { "type": "LogicalExpression", "start": 10208, "end": 10237, "loc": { "start": { "line": 357, "column": 5 }, "end": { "line": 357, "column": 34 } }, "left": { "type": "BinaryExpression", "start": 10208, "end": 10222, "loc": { "start": { "line": 357, "column": 5 }, "end": { "line": 357, "column": 19 } }, "left": { "type": "Identifier", "start": 10208, "end": 10213, "loc": { "start": { "line": 357, "column": 5 }, "end": { "line": 357, "column": 10 }, "identifierName": "b_end" }, "name": "b_end" }, "operator": "===", "right": { "type": "NullLiteral", "start": 10218, "end": 10222, "loc": { "start": { "line": 357, "column": 15 }, "end": { "line": 357, "column": 19 } } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 10226, "end": 10237, "loc": { "start": { "line": 357, "column": 23 }, "end": { "line": 357, "column": 34 } }, "left": { "type": "Identifier", "start": 10226, "end": 10231, "loc": { "start": { "line": 357, "column": 23 }, "end": { "line": 357, "column": 28 }, "identifierName": "b_end" }, "name": "b_end" }, "operator": "<", "right": { "type": "Identifier", "start": 10234, "end": 10237, "loc": { "start": { "line": 357, "column": 31 }, "end": { "line": 357, "column": 34 }, "identifierName": "dot" }, "name": "dot" } } }, "consequent": { "type": "BlockStatement", "start": 10239, "end": 10260, "loc": { "start": { "line": 357, "column": 36 }, "end": { "line": 359, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 10244, "end": 10256, "loc": { "start": { "line": 358, "column": 3 }, "end": { "line": 358, "column": 15 } }, "expression": { "type": "AssignmentExpression", "start": 10244, "end": 10255, "loc": { "start": { "line": 358, "column": 3 }, "end": { "line": 358, "column": 14 } }, "operator": "=", "left": { "type": "Identifier", "start": 10244, "end": 10249, "loc": { "start": { "line": 358, "column": 3 }, "end": { "line": 358, "column": 8 }, "identifierName": "b_end" }, "name": "b_end" }, "right": { "type": "Identifier", "start": 10252, "end": 10255, "loc": { "start": { "line": 358, "column": 11 }, "end": { "line": 358, "column": 14 }, "identifierName": "dot" }, "name": "dot" } } } ], "directives": [] }, "alternate": null } ], "directives": [] } }, { "type": "IfStatement", "start": 10266, "end": 10324, "loc": { "start": { "line": 362, "column": 1 }, "end": { "line": 364, "column": 2 } }, "test": { "type": "LogicalExpression", "start": 10269, "end": 10303, "loc": { "start": { "line": 362, "column": 4 }, "end": { "line": 362, "column": 38 } }, "left": { "type": "BinaryExpression", "start": 10269, "end": 10284, "loc": { "start": { "line": 362, "column": 4 }, "end": { "line": 362, "column": 19 } }, "left": { "type": "Identifier", "start": 10269, "end": 10276, "loc": { "start": { "line": 362, "column": 4 }, "end": { "line": 362, "column": 11 }, "identifierName": "a_start" }, "name": "a_start" }, "operator": ">", "right": { "type": "Identifier", "start": 10279, "end": 10284, "loc": { "start": { "line": 362, "column": 14 }, "end": { "line": 362, "column": 19 }, "identifierName": "b_end" }, "name": "b_end" } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 10288, "end": 10303, "loc": { "start": { "line": 362, "column": 23 }, "end": { "line": 362, "column": 38 } }, "left": { "type": "Identifier", "start": 10288, "end": 10293, "loc": { "start": { "line": 362, "column": 23 }, "end": { "line": 362, "column": 28 }, "identifierName": "a_end" }, "name": "a_end" }, "operator": "<", "right": { "type": "Identifier", "start": 10296, "end": 10303, "loc": { "start": { "line": 362, "column": 31 }, "end": { "line": 362, "column": 38 }, "identifierName": "b_start" }, "name": "b_start" } } }, "consequent": { "type": "BlockStatement", "start": 10305, "end": 10324, "loc": { "start": { "line": 362, "column": 40 }, "end": { "line": 364, "column": 2 } }, "body": [ { "type": "ReturnStatement", "start": 10309, "end": 10321, "loc": { "start": { "line": 363, "column": 2 }, "end": { "line": 363, "column": 14 } }, "argument": { "type": "BooleanLiteral", "start": 10316, "end": 10320, "loc": { "start": { "line": 363, "column": 9 }, "end": { "line": 363, "column": 13 } }, "value": true } } ], "directives": [] }, "alternate": null }, { "type": "IfStatement", "start": 10327, "end": 11255, "loc": { "start": { "line": 366, "column": 1 }, "end": { "line": 408, "column": 2 } }, "test": { "type": "Identifier", "start": 10330, "end": 10336, "loc": { "start": { "line": 366, "column": 4 }, "end": { "line": 366, "column": 10 }, "identifierName": "result" }, "name": "result" }, "consequent": { "type": "BlockStatement", "start": 10338, "end": 11255, "loc": { "start": { "line": 366, "column": 12 }, "end": { "line": 408, "column": 2 } }, "body": [ { "type": "VariableDeclaration", "start": 10342, "end": 10358, "loc": { "start": { "line": 367, "column": 2 }, "end": { "line": 367, "column": 18 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10346, "end": 10357, "loc": { "start": { "line": 367, "column": 6 }, "end": { "line": 367, "column": 17 } }, "id": { "type": "Identifier", "start": 10346, "end": 10353, "loc": { "start": { "line": 367, "column": 6 }, "end": { "line": 367, "column": 13 }, "identifierName": "overlap" }, "name": "overlap" }, "init": { "type": "NumericLiteral", "start": 10356, "end": 10357, "loc": { "start": { "line": 367, "column": 16 }, "end": { "line": 367, "column": 17 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "kind": "let" }, { "type": "IfStatement", "start": 10362, "end": 10928, "loc": { "start": { "line": 369, "column": 2 }, "end": { "line": 396, "column": 3 } }, "test": { "type": "BinaryExpression", "start": 10365, "end": 10382, "loc": { "start": { "line": 369, "column": 5 }, "end": { "line": 369, "column": 22 } }, "left": { "type": "Identifier", "start": 10365, "end": 10372, "loc": { "start": { "line": 369, "column": 5 }, "end": { "line": 369, "column": 12 }, "identifierName": "a_start" }, "name": "a_start" }, "operator": "<", "right": { "type": "Identifier", "start": 10375, "end": 10382, "loc": { "start": { "line": 369, "column": 15 }, "end": { "line": 369, "column": 22 }, "identifierName": "b_start" }, "name": "b_start" } }, "consequent": { "type": "BlockStatement", "start": 10384, "end": 10652, "loc": { "start": { "line": 369, "column": 24 }, "end": { "line": 382, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 10389, "end": 10411, "loc": { "start": { "line": 370, "column": 3 }, "end": { "line": 370, "column": 25 } }, "expression": { "type": "AssignmentExpression", "start": 10389, "end": 10410, "loc": { "start": { "line": 370, "column": 3 }, "end": { "line": 370, "column": 24 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 10389, "end": 10402, "loc": { "start": { "line": 370, "column": 3 }, "end": { "line": 370, "column": 16 } }, "object": { "type": "Identifier", "start": 10389, "end": 10395, "loc": { "start": { "line": 370, "column": 3 }, "end": { "line": 370, "column": 9 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 10396, "end": 10402, "loc": { "start": { "line": 370, "column": 10 }, "end": { "line": 370, "column": 16 }, "identifierName": "a_in_b" }, "name": "a_in_b" }, "computed": false }, "right": { "type": "BooleanLiteral", "start": 10405, "end": 10410, "loc": { "start": { "line": 370, "column": 19 }, "end": { "line": 370, "column": 24 } }, "value": false } } }, { "type": "IfStatement", "start": 10416, "end": 10648, "loc": { "start": { "line": 372, "column": 3 }, "end": { "line": 381, "column": 4 } }, "test": { "type": "BinaryExpression", "start": 10419, "end": 10432, "loc": { "start": { "line": 372, "column": 6 }, "end": { "line": 372, "column": 19 } }, "left": { "type": "Identifier", "start": 10419, "end": 10424, "loc": { "start": { "line": 372, "column": 6 }, "end": { "line": 372, "column": 11 }, "identifierName": "a_end" }, "name": "a_end" }, "operator": "<", "right": { "type": "Identifier", "start": 10427, "end": 10432, "loc": { "start": { "line": 372, "column": 14 }, "end": { "line": 372, "column": 19 }, "identifierName": "b_end" }, "name": "b_end" } }, "consequent": { "type": "BlockStatement", "start": 10434, "end": 10504, "loc": { "start": { "line": 372, "column": 21 }, "end": { "line": 375, "column": 4 } }, "body": [ { "type": "ExpressionStatement", "start": 10440, "end": 10472, "loc": { "start": { "line": 373, "column": 4 }, "end": { "line": 373, "column": 36 } }, "expression": { "type": "AssignmentExpression", "start": 10440, "end": 10471, "loc": { "start": { "line": 373, "column": 4 }, "end": { "line": 373, "column": 35 } }, "operator": "=", "left": { "type": "Identifier", "start": 10440, "end": 10447, "loc": { "start": { "line": 373, "column": 4 }, "end": { "line": 373, "column": 11 }, "identifierName": "overlap" }, "name": "overlap" }, "right": { "type": "BinaryExpression", "start": 10456, "end": 10471, "loc": { "start": { "line": 373, "column": 20 }, "end": { "line": 373, "column": 35 } }, "left": { "type": "Identifier", "start": 10456, "end": 10461, "loc": { "start": { "line": 373, "column": 20 }, "end": { "line": 373, "column": 25 }, "identifierName": "a_end" }, "name": "a_end" }, "operator": "-", "right": { "type": "Identifier", "start": 10464, "end": 10471, "loc": { "start": { "line": 373, "column": 28 }, "end": { "line": 373, "column": 35 }, "identifierName": "b_start" }, "name": "b_start" } } } }, { "type": "ExpressionStatement", "start": 10477, "end": 10499, "loc": { "start": { "line": 374, "column": 4 }, "end": { "line": 374, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 10477, "end": 10498, "loc": { "start": { "line": 374, "column": 4 }, "end": { "line": 374, "column": 25 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 10477, "end": 10490, "loc": { "start": { "line": 374, "column": 4 }, "end": { "line": 374, "column": 17 } }, "object": { "type": "Identifier", "start": 10477, "end": 10483, "loc": { "start": { "line": 374, "column": 4 }, "end": { "line": 374, "column": 10 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 10484, "end": 10490, "loc": { "start": { "line": 374, "column": 11 }, "end": { "line": 374, "column": 17 }, "identifierName": "b_in_a" }, "name": "b_in_a" }, "computed": false }, "right": { "type": "BooleanLiteral", "start": 10493, "end": 10498, "loc": { "start": { "line": 374, "column": 20 }, "end": { "line": 374, "column": 25 } }, "value": false } } } ], "directives": [] }, "alternate": { "type": "BlockStatement", "start": 10513, "end": 10648, "loc": { "start": { "line": 376, "column": 8 }, "end": { "line": 381, "column": 4 } }, "body": [ { "type": "VariableDeclaration", "start": 10519, "end": 10551, "loc": { "start": { "line": 377, "column": 4 }, "end": { "line": 377, "column": 36 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10525, "end": 10550, "loc": { "start": { "line": 377, "column": 10 }, "end": { "line": 377, "column": 35 } }, "id": { "type": "Identifier", "start": 10525, "end": 10532, "loc": { "start": { "line": 377, "column": 10 }, "end": { "line": 377, "column": 17 }, "identifierName": "option1" }, "name": "option1" }, "init": { "type": "BinaryExpression", "start": 10535, "end": 10550, "loc": { "start": { "line": 377, "column": 20 }, "end": { "line": 377, "column": 35 } }, "left": { "type": "Identifier", "start": 10535, "end": 10540, "loc": { "start": { "line": 377, "column": 20 }, "end": { "line": 377, "column": 25 }, "identifierName": "a_end" }, "name": "a_end" }, "operator": "-", "right": { "type": "Identifier", "start": 10543, "end": 10550, "loc": { "start": { "line": 377, "column": 28 }, "end": { "line": 377, "column": 35 }, "identifierName": "b_start" }, "name": "b_start" } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 10556, "end": 10588, "loc": { "start": { "line": 378, "column": 4 }, "end": { "line": 378, "column": 36 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10562, "end": 10587, "loc": { "start": { "line": 378, "column": 10 }, "end": { "line": 378, "column": 35 } }, "id": { "type": "Identifier", "start": 10562, "end": 10569, "loc": { "start": { "line": 378, "column": 10 }, "end": { "line": 378, "column": 17 }, "identifierName": "option2" }, "name": "option2" }, "init": { "type": "BinaryExpression", "start": 10572, "end": 10587, "loc": { "start": { "line": 378, "column": 20 }, "end": { "line": 378, "column": 35 } }, "left": { "type": "Identifier", "start": 10572, "end": 10577, "loc": { "start": { "line": 378, "column": 20 }, "end": { "line": 378, "column": 25 }, "identifierName": "b_end" }, "name": "b_end" }, "operator": "-", "right": { "type": "Identifier", "start": 10580, "end": 10587, "loc": { "start": { "line": 378, "column": 28 }, "end": { "line": 378, "column": 35 }, "identifierName": "a_start" }, "name": "a_start" } } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 10594, "end": 10643, "loc": { "start": { "line": 380, "column": 4 }, "end": { "line": 380, "column": 53 } }, "expression": { "type": "AssignmentExpression", "start": 10594, "end": 10642, "loc": { "start": { "line": 380, "column": 4 }, "end": { "line": 380, "column": 52 } }, "operator": "=", "left": { "type": "Identifier", "start": 10594, "end": 10601, "loc": { "start": { "line": 380, "column": 4 }, "end": { "line": 380, "column": 11 }, "identifierName": "overlap" }, "name": "overlap" }, "right": { "type": "ConditionalExpression", "start": 10604, "end": 10642, "loc": { "start": { "line": 380, "column": 14 }, "end": { "line": 380, "column": 52 } }, "test": { "type": "BinaryExpression", "start": 10604, "end": 10621, "loc": { "start": { "line": 380, "column": 14 }, "end": { "line": 380, "column": 31 } }, "left": { "type": "Identifier", "start": 10604, "end": 10611, "loc": { "start": { "line": 380, "column": 14 }, "end": { "line": 380, "column": 21 }, "identifierName": "option1" }, "name": "option1" }, "operator": "<", "right": { "type": "Identifier", "start": 10614, "end": 10621, "loc": { "start": { "line": 380, "column": 24 }, "end": { "line": 380, "column": 31 }, "identifierName": "option2" }, "name": "option2" } }, "consequent": { "type": "Identifier", "start": 10624, "end": 10631, "loc": { "start": { "line": 380, "column": 34 }, "end": { "line": 380, "column": 41 }, "identifierName": "option1" }, "name": "option1" }, "alternate": { "type": "UnaryExpression", "start": 10634, "end": 10642, "loc": { "start": { "line": 380, "column": 44 }, "end": { "line": 380, "column": 52 } }, "operator": "-", "prefix": true, "argument": { "type": "Identifier", "start": 10635, "end": 10642, "loc": { "start": { "line": 380, "column": 45 }, "end": { "line": 380, "column": 52 }, "identifierName": "option2" }, "name": "option2" }, "extra": { "parenthesizedArgument": false } } } } } ], "directives": [] } } ], "directives": [] }, "alternate": { "type": "BlockStatement", "start": 10660, "end": 10928, "loc": { "start": { "line": 383, "column": 7 }, "end": { "line": 396, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 10665, "end": 10687, "loc": { "start": { "line": 384, "column": 3 }, "end": { "line": 384, "column": 25 } }, "expression": { "type": "AssignmentExpression", "start": 10665, "end": 10686, "loc": { "start": { "line": 384, "column": 3 }, "end": { "line": 384, "column": 24 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 10665, "end": 10678, "loc": { "start": { "line": 384, "column": 3 }, "end": { "line": 384, "column": 16 } }, "object": { "type": "Identifier", "start": 10665, "end": 10671, "loc": { "start": { "line": 384, "column": 3 }, "end": { "line": 384, "column": 9 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 10672, "end": 10678, "loc": { "start": { "line": 384, "column": 10 }, "end": { "line": 384, "column": 16 }, "identifierName": "b_in_a" }, "name": "b_in_a" }, "computed": false }, "right": { "type": "BooleanLiteral", "start": 10681, "end": 10686, "loc": { "start": { "line": 384, "column": 19 }, "end": { "line": 384, "column": 24 } }, "value": false } } }, { "type": "IfStatement", "start": 10692, "end": 10924, "loc": { "start": { "line": 386, "column": 3 }, "end": { "line": 395, "column": 4 } }, "test": { "type": "BinaryExpression", "start": 10695, "end": 10708, "loc": { "start": { "line": 386, "column": 6 }, "end": { "line": 386, "column": 19 } }, "left": { "type": "Identifier", "start": 10695, "end": 10700, "loc": { "start": { "line": 386, "column": 6 }, "end": { "line": 386, "column": 11 }, "identifierName": "a_end" }, "name": "a_end" }, "operator": ">", "right": { "type": "Identifier", "start": 10703, "end": 10708, "loc": { "start": { "line": 386, "column": 14 }, "end": { "line": 386, "column": 19 }, "identifierName": "b_end" }, "name": "b_end" } }, "consequent": { "type": "BlockStatement", "start": 10710, "end": 10780, "loc": { "start": { "line": 386, "column": 21 }, "end": { "line": 389, "column": 4 } }, "body": [ { "type": "ExpressionStatement", "start": 10716, "end": 10748, "loc": { "start": { "line": 387, "column": 4 }, "end": { "line": 387, "column": 36 } }, "expression": { "type": "AssignmentExpression", "start": 10716, "end": 10747, "loc": { "start": { "line": 387, "column": 4 }, "end": { "line": 387, "column": 35 } }, "operator": "=", "left": { "type": "Identifier", "start": 10716, "end": 10723, "loc": { "start": { "line": 387, "column": 4 }, "end": { "line": 387, "column": 11 }, "identifierName": "overlap" }, "name": "overlap" }, "right": { "type": "BinaryExpression", "start": 10732, "end": 10747, "loc": { "start": { "line": 387, "column": 20 }, "end": { "line": 387, "column": 35 } }, "left": { "type": "Identifier", "start": 10732, "end": 10739, "loc": { "start": { "line": 387, "column": 20 }, "end": { "line": 387, "column": 27 }, "identifierName": "a_start" }, "name": "a_start" }, "operator": "-", "right": { "type": "Identifier", "start": 10742, "end": 10747, "loc": { "start": { "line": 387, "column": 30 }, "end": { "line": 387, "column": 35 }, "identifierName": "b_end" }, "name": "b_end" } } } }, { "type": "ExpressionStatement", "start": 10753, "end": 10775, "loc": { "start": { "line": 388, "column": 4 }, "end": { "line": 388, "column": 26 } }, "expression": { "type": "AssignmentExpression", "start": 10753, "end": 10774, "loc": { "start": { "line": 388, "column": 4 }, "end": { "line": 388, "column": 25 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 10753, "end": 10766, "loc": { "start": { "line": 388, "column": 4 }, "end": { "line": 388, "column": 17 } }, "object": { "type": "Identifier", "start": 10753, "end": 10759, "loc": { "start": { "line": 388, "column": 4 }, "end": { "line": 388, "column": 10 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 10760, "end": 10766, "loc": { "start": { "line": 388, "column": 11 }, "end": { "line": 388, "column": 17 }, "identifierName": "a_in_b" }, "name": "a_in_b" }, "computed": false }, "right": { "type": "BooleanLiteral", "start": 10769, "end": 10774, "loc": { "start": { "line": 388, "column": 20 }, "end": { "line": 388, "column": 25 } }, "value": false } } } ], "directives": [] }, "alternate": { "type": "BlockStatement", "start": 10789, "end": 10924, "loc": { "start": { "line": 390, "column": 8 }, "end": { "line": 395, "column": 4 } }, "body": [ { "type": "VariableDeclaration", "start": 10795, "end": 10827, "loc": { "start": { "line": 391, "column": 4 }, "end": { "line": 391, "column": 36 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10801, "end": 10826, "loc": { "start": { "line": 391, "column": 10 }, "end": { "line": 391, "column": 35 } }, "id": { "type": "Identifier", "start": 10801, "end": 10808, "loc": { "start": { "line": 391, "column": 10 }, "end": { "line": 391, "column": 17 }, "identifierName": "option1" }, "name": "option1" }, "init": { "type": "BinaryExpression", "start": 10811, "end": 10826, "loc": { "start": { "line": 391, "column": 20 }, "end": { "line": 391, "column": 35 } }, "left": { "type": "Identifier", "start": 10811, "end": 10816, "loc": { "start": { "line": 391, "column": 20 }, "end": { "line": 391, "column": 25 }, "identifierName": "a_end" }, "name": "a_end" }, "operator": "-", "right": { "type": "Identifier", "start": 10819, "end": 10826, "loc": { "start": { "line": 391, "column": 28 }, "end": { "line": 391, "column": 35 }, "identifierName": "b_start" }, "name": "b_start" } } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 10832, "end": 10864, "loc": { "start": { "line": 392, "column": 4 }, "end": { "line": 392, "column": 36 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10838, "end": 10863, "loc": { "start": { "line": 392, "column": 10 }, "end": { "line": 392, "column": 35 } }, "id": { "type": "Identifier", "start": 10838, "end": 10845, "loc": { "start": { "line": 392, "column": 10 }, "end": { "line": 392, "column": 17 }, "identifierName": "option2" }, "name": "option2" }, "init": { "type": "BinaryExpression", "start": 10848, "end": 10863, "loc": { "start": { "line": 392, "column": 20 }, "end": { "line": 392, "column": 35 } }, "left": { "type": "Identifier", "start": 10848, "end": 10853, "loc": { "start": { "line": 392, "column": 20 }, "end": { "line": 392, "column": 25 }, "identifierName": "b_end" }, "name": "b_end" }, "operator": "-", "right": { "type": "Identifier", "start": 10856, "end": 10863, "loc": { "start": { "line": 392, "column": 28 }, "end": { "line": 392, "column": 35 }, "identifierName": "a_start" }, "name": "a_start" } } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 10870, "end": 10919, "loc": { "start": { "line": 394, "column": 4 }, "end": { "line": 394, "column": 53 } }, "expression": { "type": "AssignmentExpression", "start": 10870, "end": 10918, "loc": { "start": { "line": 394, "column": 4 }, "end": { "line": 394, "column": 52 } }, "operator": "=", "left": { "type": "Identifier", "start": 10870, "end": 10877, "loc": { "start": { "line": 394, "column": 4 }, "end": { "line": 394, "column": 11 }, "identifierName": "overlap" }, "name": "overlap" }, "right": { "type": "ConditionalExpression", "start": 10880, "end": 10918, "loc": { "start": { "line": 394, "column": 14 }, "end": { "line": 394, "column": 52 } }, "test": { "type": "BinaryExpression", "start": 10880, "end": 10897, "loc": { "start": { "line": 394, "column": 14 }, "end": { "line": 394, "column": 31 } }, "left": { "type": "Identifier", "start": 10880, "end": 10887, "loc": { "start": { "line": 394, "column": 14 }, "end": { "line": 394, "column": 21 }, "identifierName": "option1" }, "name": "option1" }, "operator": "<", "right": { "type": "Identifier", "start": 10890, "end": 10897, "loc": { "start": { "line": 394, "column": 24 }, "end": { "line": 394, "column": 31 }, "identifierName": "option2" }, "name": "option2" } }, "consequent": { "type": "Identifier", "start": 10900, "end": 10907, "loc": { "start": { "line": 394, "column": 34 }, "end": { "line": 394, "column": 41 }, "identifierName": "option1" }, "name": "option1" }, "alternate": { "type": "UnaryExpression", "start": 10910, "end": 10918, "loc": { "start": { "line": 394, "column": 44 }, "end": { "line": 394, "column": 52 } }, "operator": "-", "prefix": true, "argument": { "type": "Identifier", "start": 10911, "end": 10918, "loc": { "start": { "line": 394, "column": 45 }, "end": { "line": 394, "column": 52 }, "identifierName": "option2" }, "name": "option2" }, "extra": { "parenthesizedArgument": false } } } } } ], "directives": [] } } ], "directives": [] } }, { "type": "VariableDeclaration", "start": 10932, "end": 10972, "loc": { "start": { "line": 398, "column": 2 }, "end": { "line": 398, "column": 42 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10938, "end": 10971, "loc": { "start": { "line": 398, "column": 8 }, "end": { "line": 398, "column": 41 } }, "id": { "type": "Identifier", "start": 10938, "end": 10953, "loc": { "start": { "line": 398, "column": 8 }, "end": { "line": 398, "column": 23 }, "identifierName": "current_overlap" }, "name": "current_overlap" }, "init": { "type": "MemberExpression", "start": 10957, "end": 10971, "loc": { "start": { "line": 398, "column": 27 }, "end": { "line": 398, "column": 41 } }, "object": { "type": "Identifier", "start": 10957, "end": 10963, "loc": { "start": { "line": 398, "column": 27 }, "end": { "line": 398, "column": 33 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 10964, "end": 10971, "loc": { "start": { "line": 398, "column": 34 }, "end": { "line": 398, "column": 41 }, "identifierName": "overlap" }, "name": "overlap" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 10975, "end": 11033, "loc": { "start": { "line": 399, "column": 2 }, "end": { "line": 399, "column": 60 } }, "declarations": [ { "type": "VariableDeclarator", "start": 10981, "end": 11032, "loc": { "start": { "line": 399, "column": 8 }, "end": { "line": 399, "column": 59 } }, "id": { "type": "Identifier", "start": 10981, "end": 10997, "loc": { "start": { "line": 399, "column": 8 }, "end": { "line": 399, "column": 24 }, "identifierName": "absolute_overlap" }, "name": "absolute_overlap" }, "init": { "type": "ConditionalExpression", "start": 11000, "end": 11032, "loc": { "start": { "line": 399, "column": 27 }, "end": { "line": 399, "column": 59 } }, "test": { "type": "BinaryExpression", "start": 11000, "end": 11011, "loc": { "start": { "line": 399, "column": 27 }, "end": { "line": 399, "column": 38 } }, "left": { "type": "Identifier", "start": 11000, "end": 11007, "loc": { "start": { "line": 399, "column": 27 }, "end": { "line": 399, "column": 34 }, "identifierName": "overlap" }, "name": "overlap" }, "operator": "<", "right": { "type": "NumericLiteral", "start": 11010, "end": 11011, "loc": { "start": { "line": 399, "column": 37 }, "end": { "line": 399, "column": 38 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, "consequent": { "type": "UnaryExpression", "start": 11014, "end": 11022, "loc": { "start": { "line": 399, "column": 41 }, "end": { "line": 399, "column": 49 } }, "operator": "-", "prefix": true, "argument": { "type": "Identifier", "start": 11015, "end": 11022, "loc": { "start": { "line": 399, "column": 42 }, "end": { "line": 399, "column": 49 }, "identifierName": "overlap" }, "name": "overlap" }, "extra": { "parenthesizedArgument": false } }, "alternate": { "type": "Identifier", "start": 11025, "end": 11032, "loc": { "start": { "line": 399, "column": 52 }, "end": { "line": 399, "column": 59 }, "identifierName": "overlap" }, "name": "overlap" } } } ], "kind": "const" }, { "type": "IfStatement", "start": 11037, "end": 11252, "loc": { "start": { "line": 401, "column": 2 }, "end": { "line": 407, "column": 3 } }, "test": { "type": "LogicalExpression", "start": 11040, "end": 11102, "loc": { "start": { "line": 401, "column": 5 }, "end": { "line": 401, "column": 67 } }, "left": { "type": "BinaryExpression", "start": 11040, "end": 11064, "loc": { "start": { "line": 401, "column": 5 }, "end": { "line": 401, "column": 29 } }, "left": { "type": "Identifier", "start": 11040, "end": 11055, "loc": { "start": { "line": 401, "column": 5 }, "end": { "line": 401, "column": 20 }, "identifierName": "current_overlap" }, "name": "current_overlap" }, "operator": "===", "right": { "type": "NullLiteral", "start": 11060, "end": 11064, "loc": { "start": { "line": 401, "column": 25 }, "end": { "line": 401, "column": 29 } } } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 11068, "end": 11102, "loc": { "start": { "line": 401, "column": 33 }, "end": { "line": 401, "column": 67 } }, "left": { "type": "Identifier", "start": 11068, "end": 11083, "loc": { "start": { "line": 401, "column": 33 }, "end": { "line": 401, "column": 48 }, "identifierName": "current_overlap" }, "name": "current_overlap" }, "operator": ">", "right": { "type": "Identifier", "start": 11086, "end": 11102, "loc": { "start": { "line": 401, "column": 51 }, "end": { "line": 401, "column": 67 }, "identifierName": "absolute_overlap" }, "name": "absolute_overlap" } } }, "consequent": { "type": "BlockStatement", "start": 11104, "end": 11252, "loc": { "start": { "line": 401, "column": 69 }, "end": { "line": 407, "column": 3 } }, "body": [ { "type": "VariableDeclaration", "start": 11109, "end": 11143, "loc": { "start": { "line": 402, "column": 3 }, "end": { "line": 402, "column": 37 } }, "declarations": [ { "type": "VariableDeclarator", "start": 11115, "end": 11142, "loc": { "start": { "line": 402, "column": 9 }, "end": { "line": 402, "column": 36 } }, "id": { "type": "Identifier", "start": 11115, "end": 11119, "loc": { "start": { "line": 402, "column": 9 }, "end": { "line": 402, "column": 13 }, "identifierName": "sign" }, "name": "sign" }, "init": { "type": "ConditionalExpression", "start": 11122, "end": 11142, "loc": { "start": { "line": 402, "column": 16 }, "end": { "line": 402, "column": 36 } }, "test": { "type": "BinaryExpression", "start": 11122, "end": 11133, "loc": { "start": { "line": 402, "column": 16 }, "end": { "line": 402, "column": 27 } }, "left": { "type": "Identifier", "start": 11122, "end": 11129, "loc": { "start": { "line": 402, "column": 16 }, "end": { "line": 402, "column": 23 }, "identifierName": "overlap" }, "name": "overlap" }, "operator": "<", "right": { "type": "NumericLiteral", "start": 11132, "end": 11133, "loc": { "start": { "line": 402, "column": 26 }, "end": { "line": 402, "column": 27 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } }, "consequent": { "type": "UnaryExpression", "start": 11136, "end": 11138, "loc": { "start": { "line": 402, "column": 30 }, "end": { "line": 402, "column": 32 } }, "operator": "-", "prefix": true, "argument": { "type": "NumericLiteral", "start": 11137, "end": 11138, "loc": { "start": { "line": 402, "column": 31 }, "end": { "line": 402, "column": 32 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, "extra": { "parenthesizedArgument": false } }, "alternate": { "type": "NumericLiteral", "start": 11141, "end": 11142, "loc": { "start": { "line": 402, "column": 35 }, "end": { "line": 402, "column": 36 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } } } ], "kind": "const" }, { "type": "ExpressionStatement", "start": 11148, "end": 11184, "loc": { "start": { "line": 404, "column": 3 }, "end": { "line": 404, "column": 39 } }, "expression": { "type": "AssignmentExpression", "start": 11148, "end": 11183, "loc": { "start": { "line": 404, "column": 3 }, "end": { "line": 404, "column": 38 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 11148, "end": 11162, "loc": { "start": { "line": 404, "column": 3 }, "end": { "line": 404, "column": 17 } }, "object": { "type": "Identifier", "start": 11148, "end": 11154, "loc": { "start": { "line": 404, "column": 3 }, "end": { "line": 404, "column": 9 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 11155, "end": 11162, "loc": { "start": { "line": 404, "column": 10 }, "end": { "line": 404, "column": 17 }, "identifierName": "overlap" }, "name": "overlap" }, "computed": false }, "right": { "type": "Identifier", "start": 11167, "end": 11183, "loc": { "start": { "line": 404, "column": 22 }, "end": { "line": 404, "column": 38 }, "identifierName": "absolute_overlap" }, "name": "absolute_overlap" } } }, { "type": "ExpressionStatement", "start": 11188, "end": 11216, "loc": { "start": { "line": 405, "column": 3 }, "end": { "line": 405, "column": 31 } }, "expression": { "type": "AssignmentExpression", "start": 11188, "end": 11215, "loc": { "start": { "line": 405, "column": 3 }, "end": { "line": 405, "column": 30 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 11188, "end": 11204, "loc": { "start": { "line": 405, "column": 3 }, "end": { "line": 405, "column": 19 } }, "object": { "type": "Identifier", "start": 11188, "end": 11194, "loc": { "start": { "line": 405, "column": 3 }, "end": { "line": 405, "column": 9 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 11195, "end": 11204, "loc": { "start": { "line": 405, "column": 10 }, "end": { "line": 405, "column": 19 }, "identifierName": "overlap_x" }, "name": "overlap_x" }, "computed": false }, "right": { "type": "BinaryExpression", "start": 11207, "end": 11215, "loc": { "start": { "line": 405, "column": 22 }, "end": { "line": 405, "column": 30 } }, "left": { "type": "Identifier", "start": 11207, "end": 11208, "loc": { "start": { "line": 405, "column": 22 }, "end": { "line": 405, "column": 23 }, "identifierName": "x" }, "name": "x" }, "operator": "*", "right": { "type": "Identifier", "start": 11211, "end": 11215, "loc": { "start": { "line": 405, "column": 26 }, "end": { "line": 405, "column": 30 }, "identifierName": "sign" }, "name": "sign" } } } }, { "type": "ExpressionStatement", "start": 11220, "end": 11248, "loc": { "start": { "line": 406, "column": 3 }, "end": { "line": 406, "column": 31 } }, "expression": { "type": "AssignmentExpression", "start": 11220, "end": 11247, "loc": { "start": { "line": 406, "column": 3 }, "end": { "line": 406, "column": 30 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 11220, "end": 11236, "loc": { "start": { "line": 406, "column": 3 }, "end": { "line": 406, "column": 19 } }, "object": { "type": "Identifier", "start": 11220, "end": 11226, "loc": { "start": { "line": 406, "column": 3 }, "end": { "line": 406, "column": 9 }, "identifierName": "result" }, "name": "result" }, "property": { "type": "Identifier", "start": 11227, "end": 11236, "loc": { "start": { "line": 406, "column": 10 }, "end": { "line": 406, "column": 19 }, "identifierName": "overlap_y" }, "name": "overlap_y" }, "computed": false }, "right": { "type": "BinaryExpression", "start": 11239, "end": 11247, "loc": { "start": { "line": 406, "column": 22 }, "end": { "line": 406, "column": 30 } }, "left": { "type": "Identifier", "start": 11239, "end": 11240, "loc": { "start": { "line": 406, "column": 22 }, "end": { "line": 406, "column": 23 }, "identifierName": "y" }, "name": "y" }, "operator": "*", "right": { "type": "Identifier", "start": 11243, "end": 11247, "loc": { "start": { "line": 406, "column": 26 }, "end": { "line": 406, "column": 30 }, "identifierName": "sign" }, "name": "sign" } } } } ], "directives": [] }, "alternate": null } ], "directives": [] }, "alternate": null }, { "type": "ReturnStatement", "start": 11258, "end": 11271, "loc": { "start": { "line": 410, "column": 1 }, "end": { "line": 410, "column": 14 } }, "argument": { "type": "BooleanLiteral", "start": 11265, "end": 11270, "loc": { "start": { "line": 410, "column": 8 }, "end": { "line": 410, "column": 13 } }, "value": false } } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * Determines if two polygons are separated by an axis\n * @param {Array} a_coords The coordinates of the polygon to test\n * @param {Array} b_coords The coordinates of the polygon to test against\n * @param {Number} x The X direction of the axis\n * @param {Number} y The Y direction of the axis\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n ", "start": 9077, "end": 9520, "loc": { "start": { "line": 316, "column": 0 }, "end": { "line": 324, "column": 3 } } } ] } ], "directives": [] }, "comments": [ { "type": "CommentBlock", "value": "*\n * Determines if two bodies are colliding using the Separating Axis Theorem\n * @private\n * @param {Circle|Polygon|Point} a The source body to test\n * @param {Circle|Polygon|Point} b The target body to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own collision heuristic)\n * @returns {Boolean}\n ", "start": 0, "end": 462, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 9, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * Determines if two bodies' axis aligned bounding boxes are colliding\n * @param {Circle|Polygon|Point} a The source body to test\n * @param {Circle|Polygon|Point} b The target body to test against\n ", "start": 1713, "end": 1917, "loc": { "start": { "line": 76, "column": 0 }, "end": { "line": 80, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * Determines if two polygons are colliding\n * @param {Polygon} a The source polygon to test\n * @param {Polygon} b The target polygon to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n ", "start": 2835, "end": 3115, "loc": { "start": { "line": 103, "column": 0 }, "end": { "line": 109, "column": 3 } } }, { "type": "CommentLine", "value": " Handle points specially", "start": 3235, "end": 3261, "loc": { "start": { "line": 114, "column": 1 }, "end": { "line": 114, "column": 27 } } }, { "type": "CommentBlock", "value": "*\n * Determines if a polygon and a circle are colliding\n * @param {Polygon} a The source polygon to test\n * @param {Circle} b The target circle to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @param {Boolean} [reverse = false] Set to true to reverse a and b in the result parameter when testing circle->polygon instead of polygon->circle\n * @returns {Boolean}\n ", "start": 4001, "end": 4438, "loc": { "start": { "line": 150, "column": 0 }, "end": { "line": 157, "column": 3 } } }, { "type": "CommentLine", "value": " Handle points specially", "start": 4945, "end": 4971, "loc": { "start": { "line": 175, "column": 1 }, "end": { "line": 175, "column": 27 } } }, { "type": "CommentBlock", "value": "*\n * Determines if two circles are colliding\n * @param {Circle} a The source circle to test\n * @param {Circle} b The target circle to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n ", "start": 8039, "end": 8314, "loc": { "start": { "line": 284, "column": 0 }, "end": { "line": 290, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * Determines if two polygons are separated by an axis\n * @param {Array} a_coords The coordinates of the polygon to test\n * @param {Array} b_coords The coordinates of the polygon to test against\n * @param {Number} x The X direction of the axis\n * @param {Number} y The Y direction of the axis\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n ", "start": 9077, "end": 9520, "loc": { "start": { "line": 316, "column": 0 }, "end": { "line": 324, "column": 3 } } } ], "tokens": [ { "type": "CommentBlock", "value": "*\n * Determines if two bodies are colliding using the Separating Axis Theorem\n * @private\n * @param {Circle|Polygon|Point} a The source body to test\n * @param {Circle|Polygon|Point} b The target body to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own collision heuristic)\n * @returns {Boolean}\n ", "start": 0, "end": 462, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 9, "column": 3 } } }, { "type": { "label": "export", "keyword": "export", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "export", "start": 463, "end": 469, "loc": { "start": { "line": 10, "column": 0 }, "end": { "line": 10, "column": 6 } } }, { "type": { "label": "default", "keyword": "default", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "default", "start": 470, "end": 477, "loc": { "start": { "line": 10, "column": 7 }, "end": { "line": 10, "column": 14 } } }, { "type": { "label": "function", "keyword": "function", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "function", "start": 478, "end": 486, "loc": { "start": { "line": 10, "column": 15 }, "end": { "line": 10, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "SAT", "start": 487, "end": 490, "loc": { "start": { "line": 10, "column": 24 }, "end": { "line": 10, "column": 27 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 490, "end": 491, "loc": { "start": { "line": 10, "column": 27 }, "end": { "line": 10, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 491, "end": 492, "loc": { "start": { "line": 10, "column": 28 }, "end": { "line": 10, "column": 29 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 492, "end": 493, "loc": { "start": { "line": 10, "column": 29 }, "end": { "line": 10, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 494, "end": 495, "loc": { "start": { "line": 10, "column": 31 }, "end": { "line": 10, "column": 32 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 495, "end": 496, "loc": { "start": { "line": 10, "column": 32 }, "end": { "line": 10, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 497, "end": 503, "loc": { "start": { "line": 10, "column": 34 }, "end": { "line": 10, "column": 40 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 504, "end": 505, "loc": { "start": { "line": 10, "column": 41 }, "end": { "line": 10, "column": 42 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 506, "end": 510, "loc": { "start": { "line": 10, "column": 43 }, "end": { "line": 10, "column": 47 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 510, "end": 511, "loc": { "start": { "line": 10, "column": 47 }, "end": { "line": 10, "column": 48 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "aabb", "start": 512, "end": 516, "loc": { "start": { "line": 10, "column": 49 }, "end": { "line": 10, "column": 53 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 517, "end": 518, "loc": { "start": { "line": 10, "column": 54 }, "end": { "line": 10, "column": 55 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 519, "end": 523, "loc": { "start": { "line": 10, "column": 56 }, "end": { "line": 10, "column": 60 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 523, "end": 524, "loc": { "start": { "line": 10, "column": 60 }, "end": { "line": 10, "column": 61 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 525, "end": 526, "loc": { "start": { "line": 10, "column": 62 }, "end": { "line": 10, "column": 63 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 528, "end": 533, "loc": { "start": { "line": 11, "column": 1 }, "end": { "line": 11, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_polygon", "start": 534, "end": 543, "loc": { "start": { "line": 11, "column": 7 }, "end": { "line": 11, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 544, "end": 545, "loc": { "start": { "line": 11, "column": 17 }, "end": { "line": 11, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 546, "end": 547, "loc": { "start": { "line": 11, "column": 19 }, "end": { "line": 11, "column": 20 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 547, "end": 548, "loc": { "start": { "line": 11, "column": 20 }, "end": { "line": 11, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_polygon", "start": 548, "end": 556, "loc": { "start": { "line": 11, "column": 21 }, "end": { "line": 11, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 556, "end": 557, "loc": { "start": { "line": 11, "column": 29 }, "end": { "line": 11, "column": 30 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 559, "end": 564, "loc": { "start": { "line": 12, "column": 1 }, "end": { "line": 12, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_polygon", "start": 565, "end": 574, "loc": { "start": { "line": 12, "column": 7 }, "end": { "line": 12, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 575, "end": 576, "loc": { "start": { "line": 12, "column": 17 }, "end": { "line": 12, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 577, "end": 578, "loc": { "start": { "line": 12, "column": 19 }, "end": { "line": 12, "column": 20 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 578, "end": 579, "loc": { "start": { "line": 12, "column": 20 }, "end": { "line": 12, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_polygon", "start": 579, "end": 587, "loc": { "start": { "line": 12, "column": 21 }, "end": { "line": 12, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 587, "end": 588, "loc": { "start": { "line": 12, "column": 29 }, "end": { "line": 12, "column": 30 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 591, "end": 594, "loc": { "start": { "line": 14, "column": 1 }, "end": { "line": 14, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "collision", "start": 595, "end": 604, "loc": { "start": { "line": 14, "column": 5 }, "end": { "line": 14, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 605, "end": 606, "loc": { "start": { "line": 14, "column": 15 }, "end": { "line": 14, "column": 16 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 607, "end": 612, "loc": { "start": { "line": 14, "column": 17 }, "end": { "line": 14, "column": 22 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 612, "end": 613, "loc": { "start": { "line": 14, "column": 22 }, "end": { "line": 14, "column": 23 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 616, "end": 618, "loc": { "start": { "line": 16, "column": 1 }, "end": { "line": 16, "column": 3 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 618, "end": 619, "loc": { "start": { "line": 16, "column": 3 }, "end": { "line": 16, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 619, "end": 625, "loc": { "start": { "line": 16, "column": 4 }, "end": { "line": 16, "column": 10 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 625, "end": 626, "loc": { "start": { "line": 16, "column": 10 }, "end": { "line": 16, "column": 11 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 627, "end": 628, "loc": { "start": { "line": 16, "column": 12 }, "end": { "line": 16, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 631, "end": 637, "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 637, "end": 638, "loc": { "start": { "line": 17, "column": 8 }, "end": { "line": 17, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 638, "end": 639, "loc": { "start": { "line": 17, "column": 9 }, "end": { "line": 17, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 648, "end": 649, "loc": { "start": { "line": 17, "column": 19 }, "end": { "line": 17, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 650, "end": 651, "loc": { "start": { "line": 17, "column": 21 }, "end": { "line": 17, "column": 22 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 651, "end": 652, "loc": { "start": { "line": 17, "column": 22 }, "end": { "line": 17, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 655, "end": 661, "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 661, "end": 662, "loc": { "start": { "line": 18, "column": 8 }, "end": { "line": 18, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 662, "end": 663, "loc": { "start": { "line": 18, "column": 9 }, "end": { "line": 18, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 672, "end": 673, "loc": { "start": { "line": 18, "column": 19 }, "end": { "line": 18, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 674, "end": 675, "loc": { "start": { "line": 18, "column": 21 }, "end": { "line": 18, "column": 22 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 675, "end": 676, "loc": { "start": { "line": 18, "column": 22 }, "end": { "line": 18, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 679, "end": 685, "loc": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 685, "end": 686, "loc": { "start": { "line": 19, "column": 8 }, "end": { "line": 19, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_in_b", "start": 686, "end": 692, "loc": { "start": { "line": 19, "column": 9 }, "end": { "line": 19, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 696, "end": 697, "loc": { "start": { "line": 19, "column": 19 }, "end": { "line": 19, "column": 20 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 698, "end": 702, "loc": { "start": { "line": 19, "column": 21 }, "end": { "line": 19, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 702, "end": 703, "loc": { "start": { "line": 19, "column": 25 }, "end": { "line": 19, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 706, "end": 712, "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 20, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 712, "end": 713, "loc": { "start": { "line": 20, "column": 8 }, "end": { "line": 20, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_in_a", "start": 713, "end": 719, "loc": { "start": { "line": 20, "column": 9 }, "end": { "line": 20, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 723, "end": 724, "loc": { "start": { "line": 20, "column": 19 }, "end": { "line": 20, "column": 20 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 725, "end": 729, "loc": { "start": { "line": 20, "column": 21 }, "end": { "line": 20, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 729, "end": 730, "loc": { "start": { "line": 20, "column": 25 }, "end": { "line": 20, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 733, "end": 739, "loc": { "start": { "line": 21, "column": 2 }, "end": { "line": 21, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 739, "end": 740, "loc": { "start": { "line": 21, "column": 8 }, "end": { "line": 21, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 740, "end": 747, "loc": { "start": { "line": 21, "column": 9 }, "end": { "line": 21, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 750, "end": 751, "loc": { "start": { "line": 21, "column": 19 }, "end": { "line": 21, "column": 20 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 752, "end": 756, "loc": { "start": { "line": 21, "column": 21 }, "end": { "line": 21, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 756, "end": 757, "loc": { "start": { "line": 21, "column": 25 }, "end": { "line": 21, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 760, "end": 766, "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 22, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 766, "end": 767, "loc": { "start": { "line": 22, "column": 8 }, "end": { "line": 22, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_x", "start": 767, "end": 776, "loc": { "start": { "line": 22, "column": 9 }, "end": { "line": 22, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 777, "end": 778, "loc": { "start": { "line": 22, "column": 19 }, "end": { "line": 22, "column": 20 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 779, "end": 780, "loc": { "start": { "line": 22, "column": 21 }, "end": { "line": 22, "column": 22 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 780, "end": 781, "loc": { "start": { "line": 22, "column": 22 }, "end": { "line": 22, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 784, "end": 790, "loc": { "start": { "line": 23, "column": 2 }, "end": { "line": 23, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 790, "end": 791, "loc": { "start": { "line": 23, "column": 8 }, "end": { "line": 23, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_y", "start": 791, "end": 800, "loc": { "start": { "line": 23, "column": 9 }, "end": { "line": 23, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 801, "end": 802, "loc": { "start": { "line": 23, "column": 19 }, "end": { "line": 23, "column": 20 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 803, "end": 804, "loc": { "start": { "line": 23, "column": 21 }, "end": { "line": 23, "column": 22 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 804, "end": 805, "loc": { "start": { "line": 23, "column": 22 }, "end": { "line": 23, "column": 23 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 807, "end": 808, "loc": { "start": { "line": 24, "column": 1 }, "end": { "line": 24, "column": 2 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 811, "end": 813, "loc": { "start": { "line": 26, "column": 1 }, "end": { "line": 26, "column": 3 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 813, "end": 814, "loc": { "start": { "line": 26, "column": 3 }, "end": { "line": 26, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_polygon", "start": 814, "end": 823, "loc": { "start": { "line": 26, "column": 4 }, "end": { "line": 26, "column": 13 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 823, "end": 824, "loc": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 14 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 825, "end": 826, "loc": { "start": { "line": 26, "column": 15 }, "end": { "line": 26, "column": 16 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 829, "end": 831, "loc": { "start": { "line": 27, "column": 2 }, "end": { "line": 27, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 831, "end": 832, "loc": { "start": { "line": 27, "column": 4 }, "end": { "line": 27, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 836, "end": 837, "loc": { "start": { "line": 28, "column": 3 }, "end": { "line": 28, "column": 4 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 837, "end": 838, "loc": { "start": { "line": 28, "column": 4 }, "end": { "line": 28, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_dirty_coords", "start": 838, "end": 851, "loc": { "start": { "line": 28, "column": 5 }, "end": { "line": 28, "column": 18 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 852, "end": 854, "loc": { "start": { "line": 28, "column": 19 }, "end": { "line": 28, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 858, "end": 859, "loc": { "start": { "line": 29, "column": 3 }, "end": { "line": 29, "column": 4 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 859, "end": 860, "loc": { "start": { "line": 29, "column": 4 }, "end": { "line": 29, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 860, "end": 861, "loc": { "start": { "line": 29, "column": 5 }, "end": { "line": 29, "column": 6 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 868, "end": 871, "loc": { "start": { "line": 29, "column": 13 }, "end": { "line": 29, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 872, "end": 873, "loc": { "start": { "line": 29, "column": 17 }, "end": { "line": 29, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 873, "end": 874, "loc": { "start": { "line": 29, "column": 18 }, "end": { "line": 29, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_x", "start": 874, "end": 876, "loc": { "start": { "line": 29, "column": 19 }, "end": { "line": 29, "column": 21 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 877, "end": 879, "loc": { "start": { "line": 29, "column": 22 }, "end": { "line": 29, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 883, "end": 884, "loc": { "start": { "line": 30, "column": 3 }, "end": { "line": 30, "column": 4 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 884, "end": 885, "loc": { "start": { "line": 30, "column": 4 }, "end": { "line": 30, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 885, "end": 886, "loc": { "start": { "line": 30, "column": 5 }, "end": { "line": 30, "column": 6 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 893, "end": 896, "loc": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 897, "end": 898, "loc": { "start": { "line": 30, "column": 17 }, "end": { "line": 30, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 898, "end": 899, "loc": { "start": { "line": 30, "column": 18 }, "end": { "line": 30, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_y", "start": 899, "end": 901, "loc": { "start": { "line": 30, "column": 19 }, "end": { "line": 30, "column": 21 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 902, "end": 904, "loc": { "start": { "line": 30, "column": 22 }, "end": { "line": 30, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 908, "end": 909, "loc": { "start": { "line": 31, "column": 3 }, "end": { "line": 31, "column": 4 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 909, "end": 910, "loc": { "start": { "line": 31, "column": 4 }, "end": { "line": 31, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "angle", "start": 910, "end": 915, "loc": { "start": { "line": 31, "column": 5 }, "end": { "line": 31, "column": 10 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 918, "end": 921, "loc": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 922, "end": 923, "loc": { "start": { "line": 31, "column": 17 }, "end": { "line": 31, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 923, "end": 924, "loc": { "start": { "line": 31, "column": 18 }, "end": { "line": 31, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_angle", "start": 924, "end": 930, "loc": { "start": { "line": 31, "column": 19 }, "end": { "line": 31, "column": 25 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 931, "end": 933, "loc": { "start": { "line": 31, "column": 26 }, "end": { "line": 31, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 937, "end": 938, "loc": { "start": { "line": 32, "column": 3 }, "end": { "line": 32, "column": 4 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 938, "end": 939, "loc": { "start": { "line": 32, "column": 4 }, "end": { "line": 32, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_x", "start": 939, "end": 946, "loc": { "start": { "line": 32, "column": 5 }, "end": { "line": 32, "column": 12 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 947, "end": 950, "loc": { "start": { "line": 32, "column": 13 }, "end": { "line": 32, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 951, "end": 952, "loc": { "start": { "line": 32, "column": 17 }, "end": { "line": 32, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 952, "end": 953, "loc": { "start": { "line": 32, "column": 18 }, "end": { "line": 32, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_scale_x", "start": 953, "end": 961, "loc": { "start": { "line": 32, "column": 19 }, "end": { "line": 32, "column": 27 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 962, "end": 964, "loc": { "start": { "line": 32, "column": 28 }, "end": { "line": 32, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 968, "end": 969, "loc": { "start": { "line": 33, "column": 3 }, "end": { "line": 33, "column": 4 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 969, "end": 970, "loc": { "start": { "line": 33, "column": 4 }, "end": { "line": 33, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_y", "start": 970, "end": 977, "loc": { "start": { "line": 33, "column": 5 }, "end": { "line": 33, "column": 12 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 978, "end": 981, "loc": { "start": { "line": 33, "column": 13 }, "end": { "line": 33, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 982, "end": 983, "loc": { "start": { "line": 33, "column": 17 }, "end": { "line": 33, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 983, "end": 984, "loc": { "start": { "line": 33, "column": 18 }, "end": { "line": 33, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_scale_y", "start": 984, "end": 992, "loc": { "start": { "line": 33, "column": 19 }, "end": { "line": 33, "column": 27 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 995, "end": 996, "loc": { "start": { "line": 34, "column": 2 }, "end": { "line": 34, "column": 3 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 997, "end": 998, "loc": { "start": { "line": 34, "column": 4 }, "end": { "line": 34, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1002, "end": 1003, "loc": { "start": { "line": 35, "column": 3 }, "end": { "line": 35, "column": 4 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1003, "end": 1004, "loc": { "start": { "line": 35, "column": 4 }, "end": { "line": 35, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_calculateCoords", "start": 1004, "end": 1020, "loc": { "start": { "line": 35, "column": 5 }, "end": { "line": 35, "column": 21 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1020, "end": 1021, "loc": { "start": { "line": 35, "column": 21 }, "end": { "line": 35, "column": 22 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1021, "end": 1022, "loc": { "start": { "line": 35, "column": 22 }, "end": { "line": 35, "column": 23 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1022, "end": 1023, "loc": { "start": { "line": 35, "column": 23 }, "end": { "line": 35, "column": 24 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1026, "end": 1027, "loc": { "start": { "line": 36, "column": 2 }, "end": { "line": 36, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1029, "end": 1030, "loc": { "start": { "line": 37, "column": 1 }, "end": { "line": 37, "column": 2 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 1033, "end": 1035, "loc": { "start": { "line": 39, "column": 1 }, "end": { "line": 39, "column": 3 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1035, "end": 1036, "loc": { "start": { "line": 39, "column": 3 }, "end": { "line": 39, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_polygon", "start": 1036, "end": 1045, "loc": { "start": { "line": 39, "column": 4 }, "end": { "line": 39, "column": 13 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1045, "end": 1046, "loc": { "start": { "line": 39, "column": 13 }, "end": { "line": 39, "column": 14 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1047, "end": 1048, "loc": { "start": { "line": 39, "column": 15 }, "end": { "line": 39, "column": 16 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 1051, "end": 1053, "loc": { "start": { "line": 40, "column": 2 }, "end": { "line": 40, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1053, "end": 1054, "loc": { "start": { "line": 40, "column": 4 }, "end": { "line": 40, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1058, "end": 1059, "loc": { "start": { "line": 41, "column": 3 }, "end": { "line": 41, "column": 4 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1059, "end": 1060, "loc": { "start": { "line": 41, "column": 4 }, "end": { "line": 41, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_dirty_coords", "start": 1060, "end": 1073, "loc": { "start": { "line": 41, "column": 5 }, "end": { "line": 41, "column": 18 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 1074, "end": 1076, "loc": { "start": { "line": 41, "column": 19 }, "end": { "line": 41, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1080, "end": 1081, "loc": { "start": { "line": 42, "column": 3 }, "end": { "line": 42, "column": 4 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1081, "end": 1082, "loc": { "start": { "line": 42, "column": 4 }, "end": { "line": 42, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 1082, "end": 1083, "loc": { "start": { "line": 42, "column": 5 }, "end": { "line": 42, "column": 6 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 1090, "end": 1093, "loc": { "start": { "line": 42, "column": 13 }, "end": { "line": 42, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1094, "end": 1095, "loc": { "start": { "line": 42, "column": 17 }, "end": { "line": 42, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1095, "end": 1096, "loc": { "start": { "line": 42, "column": 18 }, "end": { "line": 42, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_x", "start": 1096, "end": 1098, "loc": { "start": { "line": 42, "column": 19 }, "end": { "line": 42, "column": 21 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 1099, "end": 1101, "loc": { "start": { "line": 42, "column": 22 }, "end": { "line": 42, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1105, "end": 1106, "loc": { "start": { "line": 43, "column": 3 }, "end": { "line": 43, "column": 4 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1106, "end": 1107, "loc": { "start": { "line": 43, "column": 4 }, "end": { "line": 43, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 1107, "end": 1108, "loc": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 6 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 1115, "end": 1118, "loc": { "start": { "line": 43, "column": 13 }, "end": { "line": 43, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1119, "end": 1120, "loc": { "start": { "line": 43, "column": 17 }, "end": { "line": 43, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1120, "end": 1121, "loc": { "start": { "line": 43, "column": 18 }, "end": { "line": 43, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_y", "start": 1121, "end": 1123, "loc": { "start": { "line": 43, "column": 19 }, "end": { "line": 43, "column": 21 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 1124, "end": 1126, "loc": { "start": { "line": 43, "column": 22 }, "end": { "line": 43, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1130, "end": 1131, "loc": { "start": { "line": 44, "column": 3 }, "end": { "line": 44, "column": 4 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1131, "end": 1132, "loc": { "start": { "line": 44, "column": 4 }, "end": { "line": 44, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "angle", "start": 1132, "end": 1137, "loc": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 10 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 1140, "end": 1143, "loc": { "start": { "line": 44, "column": 13 }, "end": { "line": 44, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1144, "end": 1145, "loc": { "start": { "line": 44, "column": 17 }, "end": { "line": 44, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1145, "end": 1146, "loc": { "start": { "line": 44, "column": 18 }, "end": { "line": 44, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_angle", "start": 1146, "end": 1152, "loc": { "start": { "line": 44, "column": 19 }, "end": { "line": 44, "column": 25 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 1153, "end": 1155, "loc": { "start": { "line": 44, "column": 26 }, "end": { "line": 44, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1159, "end": 1160, "loc": { "start": { "line": 45, "column": 3 }, "end": { "line": 45, "column": 4 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1160, "end": 1161, "loc": { "start": { "line": 45, "column": 4 }, "end": { "line": 45, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_x", "start": 1161, "end": 1168, "loc": { "start": { "line": 45, "column": 5 }, "end": { "line": 45, "column": 12 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 1169, "end": 1172, "loc": { "start": { "line": 45, "column": 13 }, "end": { "line": 45, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1173, "end": 1174, "loc": { "start": { "line": 45, "column": 17 }, "end": { "line": 45, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1174, "end": 1175, "loc": { "start": { "line": 45, "column": 18 }, "end": { "line": 45, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_scale_x", "start": 1175, "end": 1183, "loc": { "start": { "line": 45, "column": 19 }, "end": { "line": 45, "column": 27 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 1184, "end": 1186, "loc": { "start": { "line": 45, "column": 28 }, "end": { "line": 45, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1190, "end": 1191, "loc": { "start": { "line": 46, "column": 3 }, "end": { "line": 46, "column": 4 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1191, "end": 1192, "loc": { "start": { "line": 46, "column": 4 }, "end": { "line": 46, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale_y", "start": 1192, "end": 1199, "loc": { "start": { "line": 46, "column": 5 }, "end": { "line": 46, "column": 12 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 1200, "end": 1203, "loc": { "start": { "line": 46, "column": 13 }, "end": { "line": 46, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1204, "end": 1205, "loc": { "start": { "line": 46, "column": 17 }, "end": { "line": 46, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1205, "end": 1206, "loc": { "start": { "line": 46, "column": 18 }, "end": { "line": 46, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_scale_y", "start": 1206, "end": 1214, "loc": { "start": { "line": 46, "column": 19 }, "end": { "line": 46, "column": 27 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1217, "end": 1218, "loc": { "start": { "line": 47, "column": 2 }, "end": { "line": 47, "column": 3 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1219, "end": 1220, "loc": { "start": { "line": 47, "column": 4 }, "end": { "line": 47, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1224, "end": 1225, "loc": { "start": { "line": 48, "column": 3 }, "end": { "line": 48, "column": 4 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1225, "end": 1226, "loc": { "start": { "line": 48, "column": 4 }, "end": { "line": 48, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_calculateCoords", "start": 1226, "end": 1242, "loc": { "start": { "line": 48, "column": 5 }, "end": { "line": 48, "column": 21 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1242, "end": 1243, "loc": { "start": { "line": 48, "column": 21 }, "end": { "line": 48, "column": 22 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1243, "end": 1244, "loc": { "start": { "line": 48, "column": 22 }, "end": { "line": 48, "column": 23 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1244, "end": 1245, "loc": { "start": { "line": 48, "column": 23 }, "end": { "line": 48, "column": 24 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1248, "end": 1249, "loc": { "start": { "line": 49, "column": 2 }, "end": { "line": 49, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1251, "end": 1252, "loc": { "start": { "line": 50, "column": 1 }, "end": { "line": 50, "column": 2 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 1255, "end": 1257, "loc": { "start": { "line": 52, "column": 1 }, "end": { "line": 52, "column": 3 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1257, "end": 1258, "loc": { "start": { "line": 52, "column": 3 }, "end": { "line": 52, "column": 4 } } }, { "type": { "label": "prefix", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": null, "updateContext": null }, "value": "!", "start": 1258, "end": 1259, "loc": { "start": { "line": 52, "column": 4 }, "end": { "line": 52, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "aabb", "start": 1259, "end": 1263, "loc": { "start": { "line": 52, "column": 5 }, "end": { "line": 52, "column": 9 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 1264, "end": 1266, "loc": { "start": { "line": 52, "column": 10 }, "end": { "line": 52, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "aabbAABB", "start": 1267, "end": 1275, "loc": { "start": { "line": 52, "column": 13 }, "end": { "line": 52, "column": 21 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1275, "end": 1276, "loc": { "start": { "line": 52, "column": 21 }, "end": { "line": 52, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1276, "end": 1277, "loc": { "start": { "line": 52, "column": 22 }, "end": { "line": 52, "column": 23 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1277, "end": 1278, "loc": { "start": { "line": 52, "column": 23 }, "end": { "line": 52, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1279, "end": 1280, "loc": { "start": { "line": 52, "column": 25 }, "end": { "line": 52, "column": 26 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1280, "end": 1281, "loc": { "start": { "line": 52, "column": 26 }, "end": { "line": 52, "column": 27 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1281, "end": 1282, "loc": { "start": { "line": 52, "column": 27 }, "end": { "line": 52, "column": 28 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1283, "end": 1284, "loc": { "start": { "line": 52, "column": 29 }, "end": { "line": 52, "column": 30 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 1287, "end": 1289, "loc": { "start": { "line": 53, "column": 2 }, "end": { "line": 53, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1289, "end": 1290, "loc": { "start": { "line": 53, "column": 4 }, "end": { "line": 53, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_polygon", "start": 1290, "end": 1299, "loc": { "start": { "line": 53, "column": 5 }, "end": { "line": 53, "column": 14 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 1300, "end": 1302, "loc": { "start": { "line": 53, "column": 15 }, "end": { "line": 53, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1303, "end": 1304, "loc": { "start": { "line": 53, "column": 18 }, "end": { "line": 53, "column": 19 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1304, "end": 1305, "loc": { "start": { "line": 53, "column": 19 }, "end": { "line": 53, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_dirty_normals", "start": 1305, "end": 1319, "loc": { "start": { "line": 53, "column": 20 }, "end": { "line": 53, "column": 34 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1319, "end": 1320, "loc": { "start": { "line": 53, "column": 34 }, "end": { "line": 53, "column": 35 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1321, "end": 1322, "loc": { "start": { "line": 53, "column": 36 }, "end": { "line": 53, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1326, "end": 1327, "loc": { "start": { "line": 54, "column": 3 }, "end": { "line": 54, "column": 4 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1327, "end": 1328, "loc": { "start": { "line": 54, "column": 4 }, "end": { "line": 54, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_calculateNormals", "start": 1328, "end": 1345, "loc": { "start": { "line": 54, "column": 5 }, "end": { "line": 54, "column": 22 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1345, "end": 1346, "loc": { "start": { "line": 54, "column": 22 }, "end": { "line": 54, "column": 23 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1346, "end": 1347, "loc": { "start": { "line": 54, "column": 23 }, "end": { "line": 54, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1347, "end": 1348, "loc": { "start": { "line": 54, "column": 24 }, "end": { "line": 54, "column": 25 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1351, "end": 1352, "loc": { "start": { "line": 55, "column": 2 }, "end": { "line": 55, "column": 3 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 1356, "end": 1358, "loc": { "start": { "line": 57, "column": 2 }, "end": { "line": 57, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1358, "end": 1359, "loc": { "start": { "line": 57, "column": 4 }, "end": { "line": 57, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_polygon", "start": 1359, "end": 1368, "loc": { "start": { "line": 57, "column": 5 }, "end": { "line": 57, "column": 14 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 1369, "end": 1371, "loc": { "start": { "line": 57, "column": 15 }, "end": { "line": 57, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1372, "end": 1373, "loc": { "start": { "line": 57, "column": 18 }, "end": { "line": 57, "column": 19 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1373, "end": 1374, "loc": { "start": { "line": 57, "column": 19 }, "end": { "line": 57, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_dirty_normals", "start": 1374, "end": 1388, "loc": { "start": { "line": 57, "column": 20 }, "end": { "line": 57, "column": 34 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1388, "end": 1389, "loc": { "start": { "line": 57, "column": 34 }, "end": { "line": 57, "column": 35 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1390, "end": 1391, "loc": { "start": { "line": 57, "column": 36 }, "end": { "line": 57, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1395, "end": 1396, "loc": { "start": { "line": 58, "column": 3 }, "end": { "line": 58, "column": 4 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1396, "end": 1397, "loc": { "start": { "line": 58, "column": 4 }, "end": { "line": 58, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_calculateNormals", "start": 1397, "end": 1414, "loc": { "start": { "line": 58, "column": 5 }, "end": { "line": 58, "column": 22 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1414, "end": 1415, "loc": { "start": { "line": 58, "column": 22 }, "end": { "line": 58, "column": 23 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1415, "end": 1416, "loc": { "start": { "line": 58, "column": 23 }, "end": { "line": 58, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1416, "end": 1417, "loc": { "start": { "line": 58, "column": 24 }, "end": { "line": 58, "column": 25 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1420, "end": 1421, "loc": { "start": { "line": 59, "column": 2 }, "end": { "line": 59, "column": 3 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "collision", "start": 1425, "end": 1434, "loc": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1435, "end": 1436, "loc": { "start": { "line": 61, "column": 12 }, "end": { "line": 61, "column": 13 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1437, "end": 1438, "loc": { "start": { "line": 61, "column": 14 }, "end": { "line": 61, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_polygon", "start": 1442, "end": 1451, "loc": { "start": { "line": 62, "column": 3 }, "end": { "line": 62, "column": 12 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 1452, "end": 1454, "loc": { "start": { "line": 62, "column": 13 }, "end": { "line": 62, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_polygon", "start": 1455, "end": 1464, "loc": { "start": { "line": 62, "column": 16 }, "end": { "line": 62, "column": 25 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1465, "end": 1466, "loc": { "start": { "line": 62, "column": 26 }, "end": { "line": 62, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygonPolygon", "start": 1467, "end": 1481, "loc": { "start": { "line": 62, "column": 28 }, "end": { "line": 62, "column": 42 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1481, "end": 1482, "loc": { "start": { "line": 62, "column": 42 }, "end": { "line": 62, "column": 43 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1482, "end": 1483, "loc": { "start": { "line": 62, "column": 43 }, "end": { "line": 62, "column": 44 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1483, "end": 1484, "loc": { "start": { "line": 62, "column": 44 }, "end": { "line": 62, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1485, "end": 1486, "loc": { "start": { "line": 62, "column": 46 }, "end": { "line": 62, "column": 47 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1486, "end": 1487, "loc": { "start": { "line": 62, "column": 47 }, "end": { "line": 62, "column": 48 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 1488, "end": 1494, "loc": { "start": { "line": 62, "column": 49 }, "end": { "line": 62, "column": 55 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1494, "end": 1495, "loc": { "start": { "line": 62, "column": 55 }, "end": { "line": 62, "column": 56 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1496, "end": 1497, "loc": { "start": { "line": 62, "column": 57 }, "end": { "line": 62, "column": 58 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_polygon", "start": 1501, "end": 1510, "loc": { "start": { "line": 63, "column": 3 }, "end": { "line": 63, "column": 12 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1511, "end": 1512, "loc": { "start": { "line": 63, "column": 13 }, "end": { "line": 63, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygonCircle", "start": 1513, "end": 1526, "loc": { "start": { "line": 63, "column": 15 }, "end": { "line": 63, "column": 28 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1526, "end": 1527, "loc": { "start": { "line": 63, "column": 28 }, "end": { "line": 63, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1527, "end": 1528, "loc": { "start": { "line": 63, "column": 29 }, "end": { "line": 63, "column": 30 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1528, "end": 1529, "loc": { "start": { "line": 63, "column": 30 }, "end": { "line": 63, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1530, "end": 1531, "loc": { "start": { "line": 63, "column": 32 }, "end": { "line": 63, "column": 33 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1531, "end": 1532, "loc": { "start": { "line": 63, "column": 33 }, "end": { "line": 63, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 1533, "end": 1539, "loc": { "start": { "line": 63, "column": 35 }, "end": { "line": 63, "column": 41 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1539, "end": 1540, "loc": { "start": { "line": 63, "column": 41 }, "end": { "line": 63, "column": 42 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 1541, "end": 1546, "loc": { "start": { "line": 63, "column": 43 }, "end": { "line": 63, "column": 48 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1546, "end": 1547, "loc": { "start": { "line": 63, "column": 48 }, "end": { "line": 63, "column": 49 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1548, "end": 1549, "loc": { "start": { "line": 63, "column": 50 }, "end": { "line": 63, "column": 51 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_polygon", "start": 1553, "end": 1562, "loc": { "start": { "line": 64, "column": 3 }, "end": { "line": 64, "column": 12 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1563, "end": 1564, "loc": { "start": { "line": 64, "column": 13 }, "end": { "line": 64, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygonCircle", "start": 1565, "end": 1578, "loc": { "start": { "line": 64, "column": 15 }, "end": { "line": 64, "column": 28 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1578, "end": 1579, "loc": { "start": { "line": 64, "column": 28 }, "end": { "line": 64, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1579, "end": 1580, "loc": { "start": { "line": 64, "column": 29 }, "end": { "line": 64, "column": 30 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1580, "end": 1581, "loc": { "start": { "line": 64, "column": 30 }, "end": { "line": 64, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1582, "end": 1583, "loc": { "start": { "line": 64, "column": 32 }, "end": { "line": 64, "column": 33 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1583, "end": 1584, "loc": { "start": { "line": 64, "column": 33 }, "end": { "line": 64, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 1585, "end": 1591, "loc": { "start": { "line": 64, "column": 35 }, "end": { "line": 64, "column": 41 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1591, "end": 1592, "loc": { "start": { "line": 64, "column": 41 }, "end": { "line": 64, "column": 42 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 1593, "end": 1597, "loc": { "start": { "line": 64, "column": 43 }, "end": { "line": 64, "column": 47 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1597, "end": 1598, "loc": { "start": { "line": 64, "column": 47 }, "end": { "line": 64, "column": 48 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1599, "end": 1600, "loc": { "start": { "line": 64, "column": 49 }, "end": { "line": 64, "column": 50 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "circleCircle", "start": 1604, "end": 1616, "loc": { "start": { "line": 65, "column": 3 }, "end": { "line": 65, "column": 15 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1616, "end": 1617, "loc": { "start": { "line": 65, "column": 15 }, "end": { "line": 65, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1617, "end": 1618, "loc": { "start": { "line": 65, "column": 16 }, "end": { "line": 65, "column": 17 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1618, "end": 1619, "loc": { "start": { "line": 65, "column": 17 }, "end": { "line": 65, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1620, "end": 1621, "loc": { "start": { "line": 65, "column": 19 }, "end": { "line": 65, "column": 20 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1621, "end": 1622, "loc": { "start": { "line": 65, "column": 20 }, "end": { "line": 65, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 1623, "end": 1629, "loc": { "start": { "line": 65, "column": 22 }, "end": { "line": 65, "column": 28 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1629, "end": 1630, "loc": { "start": { "line": 65, "column": 28 }, "end": { "line": 65, "column": 29 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1633, "end": 1634, "loc": { "start": { "line": 66, "column": 2 }, "end": { "line": 66, "column": 3 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1634, "end": 1635, "loc": { "start": { "line": 66, "column": 3 }, "end": { "line": 66, "column": 4 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1637, "end": 1638, "loc": { "start": { "line": 67, "column": 1 }, "end": { "line": 67, "column": 2 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 1641, "end": 1643, "loc": { "start": { "line": 69, "column": 1 }, "end": { "line": 69, "column": 3 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1643, "end": 1644, "loc": { "start": { "line": 69, "column": 3 }, "end": { "line": 69, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 1644, "end": 1650, "loc": { "start": { "line": 69, "column": 4 }, "end": { "line": 69, "column": 10 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1650, "end": 1651, "loc": { "start": { "line": 69, "column": 10 }, "end": { "line": 69, "column": 11 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1652, "end": 1653, "loc": { "start": { "line": 69, "column": 12 }, "end": { "line": 69, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 1656, "end": 1662, "loc": { "start": { "line": 70, "column": 2 }, "end": { "line": 70, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1662, "end": 1663, "loc": { "start": { "line": 70, "column": 8 }, "end": { "line": 70, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "collision", "start": 1663, "end": 1672, "loc": { "start": { "line": 70, "column": 9 }, "end": { "line": 70, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1673, "end": 1674, "loc": { "start": { "line": 70, "column": 19 }, "end": { "line": 70, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "collision", "start": 1675, "end": 1684, "loc": { "start": { "line": 70, "column": 21 }, "end": { "line": 70, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1684, "end": 1685, "loc": { "start": { "line": 70, "column": 30 }, "end": { "line": 70, "column": 31 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1687, "end": 1688, "loc": { "start": { "line": 71, "column": 1 }, "end": { "line": 71, "column": 2 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 1691, "end": 1697, "loc": { "start": { "line": 73, "column": 1 }, "end": { "line": 73, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "collision", "start": 1698, "end": 1707, "loc": { "start": { "line": 73, "column": 8 }, "end": { "line": 73, "column": 17 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1707, "end": 1708, "loc": { "start": { "line": 73, "column": 17 }, "end": { "line": 73, "column": 18 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1709, "end": 1710, "loc": { "start": { "line": 74, "column": 0 }, "end": { "line": 74, "column": 1 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1710, "end": 1711, "loc": { "start": { "line": 74, "column": 1 }, "end": { "line": 74, "column": 2 } } }, { "type": "CommentBlock", "value": "*\n * Determines if two bodies' axis aligned bounding boxes are colliding\n * @param {Circle|Polygon|Point} a The source body to test\n * @param {Circle|Polygon|Point} b The target body to test against\n ", "start": 1713, "end": 1917, "loc": { "start": { "line": 76, "column": 0 }, "end": { "line": 80, "column": 3 } } }, { "type": { "label": "function", "keyword": "function", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "function", "start": 1918, "end": 1926, "loc": { "start": { "line": 81, "column": 0 }, "end": { "line": 81, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "aabbAABB", "start": 1927, "end": 1935, "loc": { "start": { "line": 81, "column": 9 }, "end": { "line": 81, "column": 17 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1935, "end": 1936, "loc": { "start": { "line": 81, "column": 17 }, "end": { "line": 81, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1936, "end": 1937, "loc": { "start": { "line": 81, "column": 18 }, "end": { "line": 81, "column": 19 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1937, "end": 1938, "loc": { "start": { "line": 81, "column": 19 }, "end": { "line": 81, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1939, "end": 1940, "loc": { "start": { "line": 81, "column": 21 }, "end": { "line": 81, "column": 22 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1940, "end": 1941, "loc": { "start": { "line": 81, "column": 22 }, "end": { "line": 81, "column": 23 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1942, "end": 1943, "loc": { "start": { "line": 81, "column": 24 }, "end": { "line": 81, "column": 25 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 1945, "end": 1950, "loc": { "start": { "line": 82, "column": 1 }, "end": { "line": 82, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_polygon", "start": 1951, "end": 1960, "loc": { "start": { "line": 82, "column": 7 }, "end": { "line": 82, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1961, "end": 1962, "loc": { "start": { "line": 82, "column": 17 }, "end": { "line": 82, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1963, "end": 1964, "loc": { "start": { "line": 82, "column": 19 }, "end": { "line": 82, "column": 20 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1964, "end": 1965, "loc": { "start": { "line": 82, "column": 20 }, "end": { "line": 82, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_polygon", "start": 1965, "end": 1973, "loc": { "start": { "line": 82, "column": 21 }, "end": { "line": 82, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1973, "end": 1974, "loc": { "start": { "line": 82, "column": 29 }, "end": { "line": 82, "column": 30 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 1976, "end": 1981, "loc": { "start": { "line": 83, "column": 1 }, "end": { "line": 83, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_x", "start": 1982, "end": 1985, "loc": { "start": { "line": 83, "column": 7 }, "end": { "line": 83, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1992, "end": 1993, "loc": { "start": { "line": 83, "column": 17 }, "end": { "line": 83, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_polygon", "start": 1994, "end": 2003, "loc": { "start": { "line": 83, "column": 19 }, "end": { "line": 83, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2004, "end": 2005, "loc": { "start": { "line": 83, "column": 29 }, "end": { "line": 83, "column": 30 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 2006, "end": 2007, "loc": { "start": { "line": 83, "column": 31 }, "end": { "line": 83, "column": 32 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2008, "end": 2009, "loc": { "start": { "line": 83, "column": 33 }, "end": { "line": 83, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 2010, "end": 2011, "loc": { "start": { "line": 83, "column": 35 }, "end": { "line": 83, "column": 36 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2011, "end": 2012, "loc": { "start": { "line": 83, "column": 36 }, "end": { "line": 83, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 2012, "end": 2013, "loc": { "start": { "line": 83, "column": 37 }, "end": { "line": 83, "column": 38 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2013, "end": 2014, "loc": { "start": { "line": 83, "column": 38 }, "end": { "line": 83, "column": 39 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2016, "end": 2021, "loc": { "start": { "line": 84, "column": 1 }, "end": { "line": 84, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_y", "start": 2022, "end": 2025, "loc": { "start": { "line": 84, "column": 7 }, "end": { "line": 84, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2032, "end": 2033, "loc": { "start": { "line": 84, "column": 17 }, "end": { "line": 84, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_polygon", "start": 2034, "end": 2043, "loc": { "start": { "line": 84, "column": 19 }, "end": { "line": 84, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2044, "end": 2045, "loc": { "start": { "line": 84, "column": 29 }, "end": { "line": 84, "column": 30 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 2046, "end": 2047, "loc": { "start": { "line": 84, "column": 31 }, "end": { "line": 84, "column": 32 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2048, "end": 2049, "loc": { "start": { "line": 84, "column": 33 }, "end": { "line": 84, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 2050, "end": 2051, "loc": { "start": { "line": 84, "column": 35 }, "end": { "line": 84, "column": 36 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2051, "end": 2052, "loc": { "start": { "line": 84, "column": 36 }, "end": { "line": 84, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 2052, "end": 2053, "loc": { "start": { "line": 84, "column": 37 }, "end": { "line": 84, "column": 38 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2053, "end": 2054, "loc": { "start": { "line": 84, "column": 38 }, "end": { "line": 84, "column": 39 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2056, "end": 2061, "loc": { "start": { "line": 85, "column": 1 }, "end": { "line": 85, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_radius", "start": 2062, "end": 2070, "loc": { "start": { "line": 85, "column": 7 }, "end": { "line": 85, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2072, "end": 2073, "loc": { "start": { "line": 85, "column": 17 }, "end": { "line": 85, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_polygon", "start": 2074, "end": 2083, "loc": { "start": { "line": 85, "column": 19 }, "end": { "line": 85, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2084, "end": 2085, "loc": { "start": { "line": 85, "column": 29 }, "end": { "line": 85, "column": 30 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 2086, "end": 2087, "loc": { "start": { "line": 85, "column": 31 }, "end": { "line": 85, "column": 32 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2088, "end": 2089, "loc": { "start": { "line": 85, "column": 33 }, "end": { "line": 85, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 2090, "end": 2091, "loc": { "start": { "line": 85, "column": 35 }, "end": { "line": 85, "column": 36 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2091, "end": 2092, "loc": { "start": { "line": 85, "column": 36 }, "end": { "line": 85, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 2092, "end": 2098, "loc": { "start": { "line": 85, "column": 37 }, "end": { "line": 85, "column": 43 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 2099, "end": 2100, "loc": { "start": { "line": 85, "column": 44 }, "end": { "line": 85, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 2101, "end": 2102, "loc": { "start": { "line": 85, "column": 46 }, "end": { "line": 85, "column": 47 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2102, "end": 2103, "loc": { "start": { "line": 85, "column": 47 }, "end": { "line": 85, "column": 48 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale", "start": 2103, "end": 2108, "loc": { "start": { "line": 85, "column": 48 }, "end": { "line": 85, "column": 53 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2108, "end": 2109, "loc": { "start": { "line": 85, "column": 53 }, "end": { "line": 85, "column": 54 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2111, "end": 2116, "loc": { "start": { "line": 86, "column": 1 }, "end": { "line": 86, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_min_x", "start": 2117, "end": 2124, "loc": { "start": { "line": 86, "column": 7 }, "end": { "line": 86, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2127, "end": 2128, "loc": { "start": { "line": 86, "column": 17 }, "end": { "line": 86, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_polygon", "start": 2129, "end": 2138, "loc": { "start": { "line": 86, "column": 19 }, "end": { "line": 86, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2139, "end": 2140, "loc": { "start": { "line": 86, "column": 29 }, "end": { "line": 86, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 2141, "end": 2142, "loc": { "start": { "line": 86, "column": 31 }, "end": { "line": 86, "column": 32 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2142, "end": 2143, "loc": { "start": { "line": 86, "column": 32 }, "end": { "line": 86, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_min_x", "start": 2143, "end": 2149, "loc": { "start": { "line": 86, "column": 33 }, "end": { "line": 86, "column": 39 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2150, "end": 2151, "loc": { "start": { "line": 86, "column": 40 }, "end": { "line": 86, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_x", "start": 2152, "end": 2155, "loc": { "start": { "line": 86, "column": 42 }, "end": { "line": 86, "column": 45 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 2156, "end": 2157, "loc": { "start": { "line": 86, "column": 46 }, "end": { "line": 86, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_radius", "start": 2158, "end": 2166, "loc": { "start": { "line": 86, "column": 48 }, "end": { "line": 86, "column": 56 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2166, "end": 2167, "loc": { "start": { "line": 86, "column": 56 }, "end": { "line": 86, "column": 57 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2169, "end": 2174, "loc": { "start": { "line": 87, "column": 1 }, "end": { "line": 87, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_min_y", "start": 2175, "end": 2182, "loc": { "start": { "line": 87, "column": 7 }, "end": { "line": 87, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2185, "end": 2186, "loc": { "start": { "line": 87, "column": 17 }, "end": { "line": 87, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_polygon", "start": 2187, "end": 2196, "loc": { "start": { "line": 87, "column": 19 }, "end": { "line": 87, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2197, "end": 2198, "loc": { "start": { "line": 87, "column": 29 }, "end": { "line": 87, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 2199, "end": 2200, "loc": { "start": { "line": 87, "column": 31 }, "end": { "line": 87, "column": 32 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2200, "end": 2201, "loc": { "start": { "line": 87, "column": 32 }, "end": { "line": 87, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_min_y", "start": 2201, "end": 2207, "loc": { "start": { "line": 87, "column": 33 }, "end": { "line": 87, "column": 39 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2208, "end": 2209, "loc": { "start": { "line": 87, "column": 40 }, "end": { "line": 87, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_y", "start": 2210, "end": 2213, "loc": { "start": { "line": 87, "column": 42 }, "end": { "line": 87, "column": 45 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 2214, "end": 2215, "loc": { "start": { "line": 87, "column": 46 }, "end": { "line": 87, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_radius", "start": 2216, "end": 2224, "loc": { "start": { "line": 87, "column": 48 }, "end": { "line": 87, "column": 56 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2224, "end": 2225, "loc": { "start": { "line": 87, "column": 56 }, "end": { "line": 87, "column": 57 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2227, "end": 2232, "loc": { "start": { "line": 88, "column": 1 }, "end": { "line": 88, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_max_x", "start": 2233, "end": 2240, "loc": { "start": { "line": 88, "column": 7 }, "end": { "line": 88, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2243, "end": 2244, "loc": { "start": { "line": 88, "column": 17 }, "end": { "line": 88, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_polygon", "start": 2245, "end": 2254, "loc": { "start": { "line": 88, "column": 19 }, "end": { "line": 88, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2255, "end": 2256, "loc": { "start": { "line": 88, "column": 29 }, "end": { "line": 88, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 2257, "end": 2258, "loc": { "start": { "line": 88, "column": 31 }, "end": { "line": 88, "column": 32 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2258, "end": 2259, "loc": { "start": { "line": 88, "column": 32 }, "end": { "line": 88, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_max_x", "start": 2259, "end": 2265, "loc": { "start": { "line": 88, "column": 33 }, "end": { "line": 88, "column": 39 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2266, "end": 2267, "loc": { "start": { "line": 88, "column": 40 }, "end": { "line": 88, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_x", "start": 2268, "end": 2271, "loc": { "start": { "line": 88, "column": 42 }, "end": { "line": 88, "column": 45 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 2272, "end": 2273, "loc": { "start": { "line": 88, "column": 46 }, "end": { "line": 88, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_radius", "start": 2274, "end": 2282, "loc": { "start": { "line": 88, "column": 48 }, "end": { "line": 88, "column": 56 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2282, "end": 2283, "loc": { "start": { "line": 88, "column": 56 }, "end": { "line": 88, "column": 57 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2285, "end": 2290, "loc": { "start": { "line": 89, "column": 1 }, "end": { "line": 89, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_max_y", "start": 2291, "end": 2298, "loc": { "start": { "line": 89, "column": 7 }, "end": { "line": 89, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2301, "end": 2302, "loc": { "start": { "line": 89, "column": 17 }, "end": { "line": 89, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_polygon", "start": 2303, "end": 2312, "loc": { "start": { "line": 89, "column": 19 }, "end": { "line": 89, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2313, "end": 2314, "loc": { "start": { "line": 89, "column": 29 }, "end": { "line": 89, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 2315, "end": 2316, "loc": { "start": { "line": 89, "column": 31 }, "end": { "line": 89, "column": 32 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2316, "end": 2317, "loc": { "start": { "line": 89, "column": 32 }, "end": { "line": 89, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_max_y", "start": 2317, "end": 2323, "loc": { "start": { "line": 89, "column": 33 }, "end": { "line": 89, "column": 39 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2324, "end": 2325, "loc": { "start": { "line": 89, "column": 40 }, "end": { "line": 89, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_y", "start": 2326, "end": 2329, "loc": { "start": { "line": 89, "column": 42 }, "end": { "line": 89, "column": 45 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 2330, "end": 2331, "loc": { "start": { "line": 89, "column": 46 }, "end": { "line": 89, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_radius", "start": 2332, "end": 2340, "loc": { "start": { "line": 89, "column": 48 }, "end": { "line": 89, "column": 56 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2340, "end": 2341, "loc": { "start": { "line": 89, "column": 56 }, "end": { "line": 89, "column": 57 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2344, "end": 2349, "loc": { "start": { "line": 91, "column": 1 }, "end": { "line": 91, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_polygon", "start": 2350, "end": 2359, "loc": { "start": { "line": 91, "column": 7 }, "end": { "line": 91, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2360, "end": 2361, "loc": { "start": { "line": 91, "column": 17 }, "end": { "line": 91, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 2362, "end": 2363, "loc": { "start": { "line": 91, "column": 19 }, "end": { "line": 91, "column": 20 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2363, "end": 2364, "loc": { "start": { "line": 91, "column": 20 }, "end": { "line": 91, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_polygon", "start": 2364, "end": 2372, "loc": { "start": { "line": 91, "column": 21 }, "end": { "line": 91, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2372, "end": 2373, "loc": { "start": { "line": 91, "column": 29 }, "end": { "line": 91, "column": 30 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2375, "end": 2380, "loc": { "start": { "line": 92, "column": 1 }, "end": { "line": 92, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_x", "start": 2381, "end": 2384, "loc": { "start": { "line": 92, "column": 7 }, "end": { "line": 92, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2391, "end": 2392, "loc": { "start": { "line": 92, "column": 17 }, "end": { "line": 92, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_polygon", "start": 2393, "end": 2402, "loc": { "start": { "line": 92, "column": 19 }, "end": { "line": 92, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2403, "end": 2404, "loc": { "start": { "line": 92, "column": 29 }, "end": { "line": 92, "column": 30 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 2405, "end": 2406, "loc": { "start": { "line": 92, "column": 31 }, "end": { "line": 92, "column": 32 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2407, "end": 2408, "loc": { "start": { "line": 92, "column": 33 }, "end": { "line": 92, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 2409, "end": 2410, "loc": { "start": { "line": 92, "column": 35 }, "end": { "line": 92, "column": 36 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2410, "end": 2411, "loc": { "start": { "line": 92, "column": 36 }, "end": { "line": 92, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 2411, "end": 2412, "loc": { "start": { "line": 92, "column": 37 }, "end": { "line": 92, "column": 38 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2412, "end": 2413, "loc": { "start": { "line": 92, "column": 38 }, "end": { "line": 92, "column": 39 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2415, "end": 2420, "loc": { "start": { "line": 93, "column": 1 }, "end": { "line": 93, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_y", "start": 2421, "end": 2424, "loc": { "start": { "line": 93, "column": 7 }, "end": { "line": 93, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2431, "end": 2432, "loc": { "start": { "line": 93, "column": 17 }, "end": { "line": 93, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_polygon", "start": 2433, "end": 2442, "loc": { "start": { "line": 93, "column": 19 }, "end": { "line": 93, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2443, "end": 2444, "loc": { "start": { "line": 93, "column": 29 }, "end": { "line": 93, "column": 30 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 2445, "end": 2446, "loc": { "start": { "line": 93, "column": 31 }, "end": { "line": 93, "column": 32 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2447, "end": 2448, "loc": { "start": { "line": 93, "column": 33 }, "end": { "line": 93, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 2449, "end": 2450, "loc": { "start": { "line": 93, "column": 35 }, "end": { "line": 93, "column": 36 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2450, "end": 2451, "loc": { "start": { "line": 93, "column": 36 }, "end": { "line": 93, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 2451, "end": 2452, "loc": { "start": { "line": 93, "column": 37 }, "end": { "line": 93, "column": 38 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2452, "end": 2453, "loc": { "start": { "line": 93, "column": 38 }, "end": { "line": 93, "column": 39 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2455, "end": 2460, "loc": { "start": { "line": 94, "column": 1 }, "end": { "line": 94, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 2461, "end": 2469, "loc": { "start": { "line": 94, "column": 7 }, "end": { "line": 94, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2471, "end": 2472, "loc": { "start": { "line": 94, "column": 17 }, "end": { "line": 94, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_polygon", "start": 2473, "end": 2482, "loc": { "start": { "line": 94, "column": 19 }, "end": { "line": 94, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2483, "end": 2484, "loc": { "start": { "line": 94, "column": 29 }, "end": { "line": 94, "column": 30 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 2485, "end": 2486, "loc": { "start": { "line": 94, "column": 31 }, "end": { "line": 94, "column": 32 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2487, "end": 2488, "loc": { "start": { "line": 94, "column": 33 }, "end": { "line": 94, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 2489, "end": 2490, "loc": { "start": { "line": 94, "column": 35 }, "end": { "line": 94, "column": 36 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2490, "end": 2491, "loc": { "start": { "line": 94, "column": 36 }, "end": { "line": 94, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 2491, "end": 2497, "loc": { "start": { "line": 94, "column": 37 }, "end": { "line": 94, "column": 43 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 2498, "end": 2499, "loc": { "start": { "line": 94, "column": 44 }, "end": { "line": 94, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 2500, "end": 2501, "loc": { "start": { "line": 94, "column": 46 }, "end": { "line": 94, "column": 47 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2501, "end": 2502, "loc": { "start": { "line": 94, "column": 47 }, "end": { "line": 94, "column": 48 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale", "start": 2502, "end": 2507, "loc": { "start": { "line": 94, "column": 48 }, "end": { "line": 94, "column": 53 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2507, "end": 2508, "loc": { "start": { "line": 94, "column": 53 }, "end": { "line": 94, "column": 54 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2510, "end": 2515, "loc": { "start": { "line": 95, "column": 1 }, "end": { "line": 95, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_min_x", "start": 2516, "end": 2523, "loc": { "start": { "line": 95, "column": 7 }, "end": { "line": 95, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2526, "end": 2527, "loc": { "start": { "line": 95, "column": 17 }, "end": { "line": 95, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_polygon", "start": 2528, "end": 2537, "loc": { "start": { "line": 95, "column": 19 }, "end": { "line": 95, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2538, "end": 2539, "loc": { "start": { "line": 95, "column": 29 }, "end": { "line": 95, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 2540, "end": 2541, "loc": { "start": { "line": 95, "column": 31 }, "end": { "line": 95, "column": 32 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2541, "end": 2542, "loc": { "start": { "line": 95, "column": 32 }, "end": { "line": 95, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_min_x", "start": 2542, "end": 2548, "loc": { "start": { "line": 95, "column": 33 }, "end": { "line": 95, "column": 39 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2549, "end": 2550, "loc": { "start": { "line": 95, "column": 40 }, "end": { "line": 95, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_x", "start": 2551, "end": 2554, "loc": { "start": { "line": 95, "column": 42 }, "end": { "line": 95, "column": 45 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 2555, "end": 2556, "loc": { "start": { "line": 95, "column": 46 }, "end": { "line": 95, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 2557, "end": 2565, "loc": { "start": { "line": 95, "column": 48 }, "end": { "line": 95, "column": 56 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2565, "end": 2566, "loc": { "start": { "line": 95, "column": 56 }, "end": { "line": 95, "column": 57 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2568, "end": 2573, "loc": { "start": { "line": 96, "column": 1 }, "end": { "line": 96, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_min_y", "start": 2574, "end": 2581, "loc": { "start": { "line": 96, "column": 7 }, "end": { "line": 96, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2584, "end": 2585, "loc": { "start": { "line": 96, "column": 17 }, "end": { "line": 96, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_polygon", "start": 2586, "end": 2595, "loc": { "start": { "line": 96, "column": 19 }, "end": { "line": 96, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2596, "end": 2597, "loc": { "start": { "line": 96, "column": 29 }, "end": { "line": 96, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 2598, "end": 2599, "loc": { "start": { "line": 96, "column": 31 }, "end": { "line": 96, "column": 32 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2599, "end": 2600, "loc": { "start": { "line": 96, "column": 32 }, "end": { "line": 96, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_min_y", "start": 2600, "end": 2606, "loc": { "start": { "line": 96, "column": 33 }, "end": { "line": 96, "column": 39 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2607, "end": 2608, "loc": { "start": { "line": 96, "column": 40 }, "end": { "line": 96, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_y", "start": 2609, "end": 2612, "loc": { "start": { "line": 96, "column": 42 }, "end": { "line": 96, "column": 45 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 2613, "end": 2614, "loc": { "start": { "line": 96, "column": 46 }, "end": { "line": 96, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 2615, "end": 2623, "loc": { "start": { "line": 96, "column": 48 }, "end": { "line": 96, "column": 56 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2623, "end": 2624, "loc": { "start": { "line": 96, "column": 56 }, "end": { "line": 96, "column": 57 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2626, "end": 2631, "loc": { "start": { "line": 97, "column": 1 }, "end": { "line": 97, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_max_x", "start": 2632, "end": 2639, "loc": { "start": { "line": 97, "column": 7 }, "end": { "line": 97, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2642, "end": 2643, "loc": { "start": { "line": 97, "column": 17 }, "end": { "line": 97, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_polygon", "start": 2644, "end": 2653, "loc": { "start": { "line": 97, "column": 19 }, "end": { "line": 97, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2654, "end": 2655, "loc": { "start": { "line": 97, "column": 29 }, "end": { "line": 97, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 2656, "end": 2657, "loc": { "start": { "line": 97, "column": 31 }, "end": { "line": 97, "column": 32 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2657, "end": 2658, "loc": { "start": { "line": 97, "column": 32 }, "end": { "line": 97, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_max_x", "start": 2658, "end": 2664, "loc": { "start": { "line": 97, "column": 33 }, "end": { "line": 97, "column": 39 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2665, "end": 2666, "loc": { "start": { "line": 97, "column": 40 }, "end": { "line": 97, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_x", "start": 2667, "end": 2670, "loc": { "start": { "line": 97, "column": 42 }, "end": { "line": 97, "column": 45 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 2671, "end": 2672, "loc": { "start": { "line": 97, "column": 46 }, "end": { "line": 97, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 2673, "end": 2681, "loc": { "start": { "line": 97, "column": 48 }, "end": { "line": 97, "column": 56 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2681, "end": 2682, "loc": { "start": { "line": 97, "column": 56 }, "end": { "line": 97, "column": 57 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2684, "end": 2689, "loc": { "start": { "line": 98, "column": 1 }, "end": { "line": 98, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_max_y", "start": 2690, "end": 2697, "loc": { "start": { "line": 98, "column": 7 }, "end": { "line": 98, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2700, "end": 2701, "loc": { "start": { "line": 98, "column": 17 }, "end": { "line": 98, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_polygon", "start": 2702, "end": 2711, "loc": { "start": { "line": 98, "column": 19 }, "end": { "line": 98, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2712, "end": 2713, "loc": { "start": { "line": 98, "column": 29 }, "end": { "line": 98, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 2714, "end": 2715, "loc": { "start": { "line": 98, "column": 31 }, "end": { "line": 98, "column": 32 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2715, "end": 2716, "loc": { "start": { "line": 98, "column": 32 }, "end": { "line": 98, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_max_y", "start": 2716, "end": 2722, "loc": { "start": { "line": 98, "column": 33 }, "end": { "line": 98, "column": 39 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2723, "end": 2724, "loc": { "start": { "line": 98, "column": 40 }, "end": { "line": 98, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_y", "start": 2725, "end": 2728, "loc": { "start": { "line": 98, "column": 42 }, "end": { "line": 98, "column": 45 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 2729, "end": 2730, "loc": { "start": { "line": 98, "column": 46 }, "end": { "line": 98, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 2731, "end": 2739, "loc": { "start": { "line": 98, "column": 48 }, "end": { "line": 98, "column": 56 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2739, "end": 2740, "loc": { "start": { "line": 98, "column": 56 }, "end": { "line": 98, "column": 57 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 2743, "end": 2749, "loc": { "start": { "line": 100, "column": 1 }, "end": { "line": 100, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_min_x", "start": 2750, "end": 2757, "loc": { "start": { "line": 100, "column": 8 }, "end": { "line": 100, "column": 15 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 2758, "end": 2759, "loc": { "start": { "line": 100, "column": 16 }, "end": { "line": 100, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_max_x", "start": 2760, "end": 2767, "loc": { "start": { "line": 100, "column": 18 }, "end": { "line": 100, "column": 25 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 2768, "end": 2770, "loc": { "start": { "line": 100, "column": 26 }, "end": { "line": 100, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_min_y", "start": 2771, "end": 2778, "loc": { "start": { "line": 100, "column": 29 }, "end": { "line": 100, "column": 36 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 2779, "end": 2780, "loc": { "start": { "line": 100, "column": 37 }, "end": { "line": 100, "column": 38 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_max_y", "start": 2781, "end": 2788, "loc": { "start": { "line": 100, "column": 39 }, "end": { "line": 100, "column": 46 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 2789, "end": 2791, "loc": { "start": { "line": 100, "column": 47 }, "end": { "line": 100, "column": 49 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_max_x", "start": 2792, "end": 2799, "loc": { "start": { "line": 100, "column": 50 }, "end": { "line": 100, "column": 57 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 2800, "end": 2801, "loc": { "start": { "line": 100, "column": 58 }, "end": { "line": 100, "column": 59 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_min_x", "start": 2802, "end": 2809, "loc": { "start": { "line": 100, "column": 60 }, "end": { "line": 100, "column": 67 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 2810, "end": 2812, "loc": { "start": { "line": 100, "column": 68 }, "end": { "line": 100, "column": 70 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_max_y", "start": 2813, "end": 2820, "loc": { "start": { "line": 100, "column": 71 }, "end": { "line": 100, "column": 78 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 2821, "end": 2822, "loc": { "start": { "line": 100, "column": 79 }, "end": { "line": 100, "column": 80 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_min_y", "start": 2823, "end": 2830, "loc": { "start": { "line": 100, "column": 81 }, "end": { "line": 100, "column": 88 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2830, "end": 2831, "loc": { "start": { "line": 100, "column": 88 }, "end": { "line": 100, "column": 89 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2832, "end": 2833, "loc": { "start": { "line": 101, "column": 0 }, "end": { "line": 101, "column": 1 } } }, { "type": "CommentBlock", "value": "*\n * Determines if two polygons are colliding\n * @param {Polygon} a The source polygon to test\n * @param {Polygon} b The target polygon to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n ", "start": 2835, "end": 3115, "loc": { "start": { "line": 103, "column": 0 }, "end": { "line": 109, "column": 3 } } }, { "type": { "label": "function", "keyword": "function", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "function", "start": 3116, "end": 3124, "loc": { "start": { "line": 110, "column": 0 }, "end": { "line": 110, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygonPolygon", "start": 3125, "end": 3139, "loc": { "start": { "line": 110, "column": 9 }, "end": { "line": 110, "column": 23 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3139, "end": 3140, "loc": { "start": { "line": 110, "column": 23 }, "end": { "line": 110, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 3140, "end": 3141, "loc": { "start": { "line": 110, "column": 24 }, "end": { "line": 110, "column": 25 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3141, "end": 3142, "loc": { "start": { "line": 110, "column": 25 }, "end": { "line": 110, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 3143, "end": 3144, "loc": { "start": { "line": 110, "column": 27 }, "end": { "line": 110, "column": 28 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3144, "end": 3145, "loc": { "start": { "line": 110, "column": 28 }, "end": { "line": 110, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 3146, "end": 3152, "loc": { "start": { "line": 110, "column": 30 }, "end": { "line": 110, "column": 36 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3153, "end": 3154, "loc": { "start": { "line": 110, "column": 37 }, "end": { "line": 110, "column": 38 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 3155, "end": 3159, "loc": { "start": { "line": 110, "column": 39 }, "end": { "line": 110, "column": 43 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3159, "end": 3160, "loc": { "start": { "line": 110, "column": 43 }, "end": { "line": 110, "column": 44 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3161, "end": 3162, "loc": { "start": { "line": 110, "column": 45 }, "end": { "line": 110, "column": 46 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3164, "end": 3169, "loc": { "start": { "line": 111, "column": 1 }, "end": { "line": 111, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_count", "start": 3170, "end": 3177, "loc": { "start": { "line": 111, "column": 7 }, "end": { "line": 111, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3178, "end": 3179, "loc": { "start": { "line": 111, "column": 15 }, "end": { "line": 111, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 3180, "end": 3181, "loc": { "start": { "line": 111, "column": 17 }, "end": { "line": 111, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3181, "end": 3182, "loc": { "start": { "line": 111, "column": 18 }, "end": { "line": 111, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_coords", "start": 3182, "end": 3189, "loc": { "start": { "line": 111, "column": 19 }, "end": { "line": 111, "column": 26 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3189, "end": 3190, "loc": { "start": { "line": 111, "column": 26 }, "end": { "line": 111, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 3190, "end": 3196, "loc": { "start": { "line": 111, "column": 27 }, "end": { "line": 111, "column": 33 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3196, "end": 3197, "loc": { "start": { "line": 111, "column": 33 }, "end": { "line": 111, "column": 34 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3199, "end": 3204, "loc": { "start": { "line": 112, "column": 1 }, "end": { "line": 112, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_count", "start": 3205, "end": 3212, "loc": { "start": { "line": 112, "column": 7 }, "end": { "line": 112, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3213, "end": 3214, "loc": { "start": { "line": 112, "column": 15 }, "end": { "line": 112, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 3215, "end": 3216, "loc": { "start": { "line": 112, "column": 17 }, "end": { "line": 112, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3216, "end": 3217, "loc": { "start": { "line": 112, "column": 18 }, "end": { "line": 112, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_coords", "start": 3217, "end": 3224, "loc": { "start": { "line": 112, "column": 19 }, "end": { "line": 112, "column": 26 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3224, "end": 3225, "loc": { "start": { "line": 112, "column": 26 }, "end": { "line": 112, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 3225, "end": 3231, "loc": { "start": { "line": 112, "column": 27 }, "end": { "line": 112, "column": 33 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3231, "end": 3232, "loc": { "start": { "line": 112, "column": 33 }, "end": { "line": 112, "column": 34 } } }, { "type": "CommentLine", "value": " Handle points specially", "start": 3235, "end": 3261, "loc": { "start": { "line": 114, "column": 1 }, "end": { "line": 114, "column": 27 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 3263, "end": 3265, "loc": { "start": { "line": 115, "column": 1 }, "end": { "line": 115, "column": 3 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3265, "end": 3266, "loc": { "start": { "line": 115, "column": 3 }, "end": { "line": 115, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_count", "start": 3266, "end": 3273, "loc": { "start": { "line": 115, "column": 4 }, "end": { "line": 115, "column": 11 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 3274, "end": 3277, "loc": { "start": { "line": 115, "column": 12 }, "end": { "line": 115, "column": 15 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 3278, "end": 3279, "loc": { "start": { "line": 115, "column": 16 }, "end": { "line": 115, "column": 17 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 3280, "end": 3282, "loc": { "start": { "line": 115, "column": 18 }, "end": { "line": 115, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_count", "start": 3283, "end": 3290, "loc": { "start": { "line": 115, "column": 21 }, "end": { "line": 115, "column": 28 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 3291, "end": 3294, "loc": { "start": { "line": 115, "column": 29 }, "end": { "line": 115, "column": 32 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 3295, "end": 3296, "loc": { "start": { "line": 115, "column": 33 }, "end": { "line": 115, "column": 34 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3296, "end": 3297, "loc": { "start": { "line": 115, "column": 34 }, "end": { "line": 115, "column": 35 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3298, "end": 3299, "loc": { "start": { "line": 115, "column": 36 }, "end": { "line": 115, "column": 37 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3302, "end": 3307, "loc": { "start": { "line": 116, "column": 2 }, "end": { "line": 116, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 3308, "end": 3316, "loc": { "start": { "line": 116, "column": 8 }, "end": { "line": 116, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3317, "end": 3318, "loc": { "start": { "line": 116, "column": 17 }, "end": { "line": 116, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 3319, "end": 3320, "loc": { "start": { "line": 116, "column": 19 }, "end": { "line": 116, "column": 20 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3320, "end": 3321, "loc": { "start": { "line": 116, "column": 20 }, "end": { "line": 116, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_coords", "start": 3321, "end": 3328, "loc": { "start": { "line": 116, "column": 21 }, "end": { "line": 116, "column": 28 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3328, "end": 3329, "loc": { "start": { "line": 116, "column": 28 }, "end": { "line": 116, "column": 29 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3332, "end": 3337, "loc": { "start": { "line": 117, "column": 2 }, "end": { "line": 117, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_coords", "start": 3338, "end": 3346, "loc": { "start": { "line": 117, "column": 8 }, "end": { "line": 117, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3347, "end": 3348, "loc": { "start": { "line": 117, "column": 17 }, "end": { "line": 117, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 3349, "end": 3350, "loc": { "start": { "line": 117, "column": 19 }, "end": { "line": 117, "column": 20 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3350, "end": 3351, "loc": { "start": { "line": 117, "column": 20 }, "end": { "line": 117, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_coords", "start": 3351, "end": 3358, "loc": { "start": { "line": 117, "column": 21 }, "end": { "line": 117, "column": 28 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3358, "end": 3359, "loc": { "start": { "line": 117, "column": 28 }, "end": { "line": 117, "column": 29 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 3363, "end": 3365, "loc": { "start": { "line": 119, "column": 2 }, "end": { "line": 119, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3365, "end": 3366, "loc": { "start": { "line": 119, "column": 4 }, "end": { "line": 119, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 3366, "end": 3372, "loc": { "start": { "line": 119, "column": 5 }, "end": { "line": 119, "column": 11 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3372, "end": 3373, "loc": { "start": { "line": 119, "column": 11 }, "end": { "line": 119, "column": 12 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3374, "end": 3375, "loc": { "start": { "line": 119, "column": 13 }, "end": { "line": 119, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 3379, "end": 3385, "loc": { "start": { "line": 120, "column": 3 }, "end": { "line": 120, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3385, "end": 3386, "loc": { "start": { "line": 120, "column": 9 }, "end": { "line": 120, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 3386, "end": 3393, "loc": { "start": { "line": 120, "column": 10 }, "end": { "line": 120, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3394, "end": 3395, "loc": { "start": { "line": 120, "column": 18 }, "end": { "line": 120, "column": 19 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 3396, "end": 3397, "loc": { "start": { "line": 120, "column": 20 }, "end": { "line": 120, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3397, "end": 3398, "loc": { "start": { "line": 120, "column": 21 }, "end": { "line": 120, "column": 22 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3401, "end": 3402, "loc": { "start": { "line": 121, "column": 2 }, "end": { "line": 121, "column": 3 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 3406, "end": 3412, "loc": { "start": { "line": 123, "column": 2 }, "end": { "line": 123, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 3413, "end": 3421, "loc": { "start": { "line": 123, "column": 9 }, "end": { "line": 123, "column": 17 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3421, "end": 3422, "loc": { "start": { "line": 123, "column": 17 }, "end": { "line": 123, "column": 18 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 3422, "end": 3423, "loc": { "start": { "line": 123, "column": 18 }, "end": { "line": 123, "column": 19 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3423, "end": 3424, "loc": { "start": { "line": 123, "column": 19 }, "end": { "line": 123, "column": 20 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 3425, "end": 3428, "loc": { "start": { "line": 123, "column": 21 }, "end": { "line": 123, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_coords", "start": 3429, "end": 3437, "loc": { "start": { "line": 123, "column": 25 }, "end": { "line": 123, "column": 33 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3437, "end": 3438, "loc": { "start": { "line": 123, "column": 33 }, "end": { "line": 123, "column": 34 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 3438, "end": 3439, "loc": { "start": { "line": 123, "column": 34 }, "end": { "line": 123, "column": 35 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3439, "end": 3440, "loc": { "start": { "line": 123, "column": 35 }, "end": { "line": 123, "column": 36 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 3441, "end": 3443, "loc": { "start": { "line": 123, "column": 37 }, "end": { "line": 123, "column": 39 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 3444, "end": 3452, "loc": { "start": { "line": 123, "column": 40 }, "end": { "line": 123, "column": 48 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3452, "end": 3453, "loc": { "start": { "line": 123, "column": 48 }, "end": { "line": 123, "column": 49 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 3453, "end": 3454, "loc": { "start": { "line": 123, "column": 49 }, "end": { "line": 123, "column": 50 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3454, "end": 3455, "loc": { "start": { "line": 123, "column": 50 }, "end": { "line": 123, "column": 51 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 3456, "end": 3459, "loc": { "start": { "line": 123, "column": 52 }, "end": { "line": 123, "column": 55 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_coords", "start": 3460, "end": 3468, "loc": { "start": { "line": 123, "column": 56 }, "end": { "line": 123, "column": 64 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3468, "end": 3469, "loc": { "start": { "line": 123, "column": 64 }, "end": { "line": 123, "column": 65 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 3469, "end": 3470, "loc": { "start": { "line": 123, "column": 65 }, "end": { "line": 123, "column": 66 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3470, "end": 3471, "loc": { "start": { "line": 123, "column": 66 }, "end": { "line": 123, "column": 67 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3471, "end": 3472, "loc": { "start": { "line": 123, "column": 67 }, "end": { "line": 123, "column": 68 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3474, "end": 3475, "loc": { "start": { "line": 124, "column": 1 }, "end": { "line": 124, "column": 2 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3478, "end": 3483, "loc": { "start": { "line": 126, "column": 1 }, "end": { "line": 126, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 3484, "end": 3492, "loc": { "start": { "line": 126, "column": 7 }, "end": { "line": 126, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3494, "end": 3495, "loc": { "start": { "line": 126, "column": 17 }, "end": { "line": 126, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 3496, "end": 3497, "loc": { "start": { "line": 126, "column": 19 }, "end": { "line": 126, "column": 20 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3497, "end": 3498, "loc": { "start": { "line": 126, "column": 20 }, "end": { "line": 126, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_coords", "start": 3498, "end": 3505, "loc": { "start": { "line": 126, "column": 21 }, "end": { "line": 126, "column": 28 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3505, "end": 3506, "loc": { "start": { "line": 126, "column": 28 }, "end": { "line": 126, "column": 29 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3508, "end": 3513, "loc": { "start": { "line": 127, "column": 1 }, "end": { "line": 127, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_coords", "start": 3514, "end": 3522, "loc": { "start": { "line": 127, "column": 7 }, "end": { "line": 127, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3524, "end": 3525, "loc": { "start": { "line": 127, "column": 17 }, "end": { "line": 127, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 3526, "end": 3527, "loc": { "start": { "line": 127, "column": 19 }, "end": { "line": 127, "column": 20 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3527, "end": 3528, "loc": { "start": { "line": 127, "column": 20 }, "end": { "line": 127, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_coords", "start": 3528, "end": 3535, "loc": { "start": { "line": 127, "column": 21 }, "end": { "line": 127, "column": 28 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3535, "end": 3536, "loc": { "start": { "line": 127, "column": 28 }, "end": { "line": 127, "column": 29 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3538, "end": 3543, "loc": { "start": { "line": 128, "column": 1 }, "end": { "line": 128, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_normals", "start": 3544, "end": 3553, "loc": { "start": { "line": 128, "column": 7 }, "end": { "line": 128, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3554, "end": 3555, "loc": { "start": { "line": 128, "column": 17 }, "end": { "line": 128, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 3556, "end": 3557, "loc": { "start": { "line": 128, "column": 19 }, "end": { "line": 128, "column": 20 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3557, "end": 3558, "loc": { "start": { "line": 128, "column": 20 }, "end": { "line": 128, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_normals", "start": 3558, "end": 3566, "loc": { "start": { "line": 128, "column": 21 }, "end": { "line": 128, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3566, "end": 3567, "loc": { "start": { "line": 128, "column": 29 }, "end": { "line": 128, "column": 30 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 3569, "end": 3574, "loc": { "start": { "line": 129, "column": 1 }, "end": { "line": 129, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_normals", "start": 3575, "end": 3584, "loc": { "start": { "line": 129, "column": 7 }, "end": { "line": 129, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3585, "end": 3586, "loc": { "start": { "line": 129, "column": 17 }, "end": { "line": 129, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 3587, "end": 3588, "loc": { "start": { "line": 129, "column": 19 }, "end": { "line": 129, "column": 20 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3588, "end": 3589, "loc": { "start": { "line": 129, "column": 20 }, "end": { "line": 129, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_normals", "start": 3589, "end": 3597, "loc": { "start": { "line": 129, "column": 21 }, "end": { "line": 129, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3597, "end": 3598, "loc": { "start": { "line": 129, "column": 29 }, "end": { "line": 129, "column": 30 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 3601, "end": 3603, "loc": { "start": { "line": 131, "column": 1 }, "end": { "line": 131, "column": 3 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3603, "end": 3604, "loc": { "start": { "line": 131, "column": 3 }, "end": { "line": 131, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_count", "start": 3604, "end": 3611, "loc": { "start": { "line": 131, "column": 4 }, "end": { "line": 131, "column": 11 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 3612, "end": 3613, "loc": { "start": { "line": 131, "column": 12 }, "end": { "line": 131, "column": 13 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 3614, "end": 3615, "loc": { "start": { "line": 131, "column": 14 }, "end": { "line": 131, "column": 15 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3615, "end": 3616, "loc": { "start": { "line": 131, "column": 15 }, "end": { "line": 131, "column": 16 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3617, "end": 3618, "loc": { "start": { "line": 131, "column": 17 }, "end": { "line": 131, "column": 18 } } }, { "type": { "label": "for", "keyword": "for", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "for", "start": 3621, "end": 3624, "loc": { "start": { "line": 132, "column": 2 }, "end": { "line": 132, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3624, "end": 3625, "loc": { "start": { "line": 132, "column": 5 }, "end": { "line": 132, "column": 6 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 3625, "end": 3628, "loc": { "start": { "line": 132, "column": 6 }, "end": { "line": 132, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 3629, "end": 3631, "loc": { "start": { "line": 132, "column": 10 }, "end": { "line": 132, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3632, "end": 3633, "loc": { "start": { "line": 132, "column": 13 }, "end": { "line": 132, "column": 14 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 3634, "end": 3635, "loc": { "start": { "line": 132, "column": 15 }, "end": { "line": 132, "column": 16 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3635, "end": 3636, "loc": { "start": { "line": 132, "column": 16 }, "end": { "line": 132, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 3637, "end": 3639, "loc": { "start": { "line": 132, "column": 18 }, "end": { "line": 132, "column": 20 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3640, "end": 3641, "loc": { "start": { "line": 132, "column": 21 }, "end": { "line": 132, "column": 22 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 3642, "end": 3643, "loc": { "start": { "line": 132, "column": 23 }, "end": { "line": 132, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3643, "end": 3644, "loc": { "start": { "line": 132, "column": 24 }, "end": { "line": 132, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 3645, "end": 3647, "loc": { "start": { "line": 132, "column": 26 }, "end": { "line": 132, "column": 28 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 3648, "end": 3649, "loc": { "start": { "line": 132, "column": 29 }, "end": { "line": 132, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_count", "start": 3650, "end": 3657, "loc": { "start": { "line": 132, "column": 31 }, "end": { "line": 132, "column": 38 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3657, "end": 3658, "loc": { "start": { "line": 132, "column": 38 }, "end": { "line": 132, "column": 39 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 3659, "end": 3661, "loc": { "start": { "line": 132, "column": 40 }, "end": { "line": 132, "column": 42 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 3662, "end": 3664, "loc": { "start": { "line": 132, "column": 43 }, "end": { "line": 132, "column": 45 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 3665, "end": 3666, "loc": { "start": { "line": 132, "column": 46 }, "end": { "line": 132, "column": 47 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3666, "end": 3667, "loc": { "start": { "line": 132, "column": 47 }, "end": { "line": 132, "column": 48 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 3668, "end": 3670, "loc": { "start": { "line": 132, "column": 49 }, "end": { "line": 132, "column": 51 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 3671, "end": 3673, "loc": { "start": { "line": 132, "column": 52 }, "end": { "line": 132, "column": 54 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 3674, "end": 3675, "loc": { "start": { "line": 132, "column": 55 }, "end": { "line": 132, "column": 56 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3675, "end": 3676, "loc": { "start": { "line": 132, "column": 56 }, "end": { "line": 132, "column": 57 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3677, "end": 3678, "loc": { "start": { "line": 132, "column": 58 }, "end": { "line": 132, "column": 59 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 3682, "end": 3684, "loc": { "start": { "line": 133, "column": 3 }, "end": { "line": 133, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3684, "end": 3685, "loc": { "start": { "line": 133, "column": 5 }, "end": { "line": 133, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "separatingAxis", "start": 3685, "end": 3699, "loc": { "start": { "line": 133, "column": 6 }, "end": { "line": 133, "column": 20 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3699, "end": 3700, "loc": { "start": { "line": 133, "column": 20 }, "end": { "line": 133, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 3700, "end": 3708, "loc": { "start": { "line": 133, "column": 21 }, "end": { "line": 133, "column": 29 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3708, "end": 3709, "loc": { "start": { "line": 133, "column": 29 }, "end": { "line": 133, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_coords", "start": 3710, "end": 3718, "loc": { "start": { "line": 133, "column": 31 }, "end": { "line": 133, "column": 39 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3718, "end": 3719, "loc": { "start": { "line": 133, "column": 39 }, "end": { "line": 133, "column": 40 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_normals", "start": 3720, "end": 3729, "loc": { "start": { "line": 133, "column": 41 }, "end": { "line": 133, "column": 50 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3729, "end": 3730, "loc": { "start": { "line": 133, "column": 50 }, "end": { "line": 133, "column": 51 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 3730, "end": 3732, "loc": { "start": { "line": 133, "column": 51 }, "end": { "line": 133, "column": 53 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3732, "end": 3733, "loc": { "start": { "line": 133, "column": 53 }, "end": { "line": 133, "column": 54 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3733, "end": 3734, "loc": { "start": { "line": 133, "column": 54 }, "end": { "line": 133, "column": 55 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_normals", "start": 3735, "end": 3744, "loc": { "start": { "line": 133, "column": 56 }, "end": { "line": 133, "column": 65 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3744, "end": 3745, "loc": { "start": { "line": 133, "column": 65 }, "end": { "line": 133, "column": 66 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 3745, "end": 3747, "loc": { "start": { "line": 133, "column": 66 }, "end": { "line": 133, "column": 68 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3747, "end": 3748, "loc": { "start": { "line": 133, "column": 68 }, "end": { "line": 133, "column": 69 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3748, "end": 3749, "loc": { "start": { "line": 133, "column": 69 }, "end": { "line": 133, "column": 70 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 3750, "end": 3756, "loc": { "start": { "line": 133, "column": 71 }, "end": { "line": 133, "column": 77 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3756, "end": 3757, "loc": { "start": { "line": 133, "column": 77 }, "end": { "line": 133, "column": 78 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3757, "end": 3758, "loc": { "start": { "line": 133, "column": 78 }, "end": { "line": 133, "column": 79 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3759, "end": 3760, "loc": { "start": { "line": 133, "column": 80 }, "end": { "line": 133, "column": 81 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 3765, "end": 3771, "loc": { "start": { "line": 134, "column": 4 }, "end": { "line": 134, "column": 10 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 3772, "end": 3777, "loc": { "start": { "line": 134, "column": 11 }, "end": { "line": 134, "column": 16 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3777, "end": 3778, "loc": { "start": { "line": 134, "column": 16 }, "end": { "line": 134, "column": 17 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3782, "end": 3783, "loc": { "start": { "line": 135, "column": 3 }, "end": { "line": 135, "column": 4 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3786, "end": 3787, "loc": { "start": { "line": 136, "column": 2 }, "end": { "line": 136, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3789, "end": 3790, "loc": { "start": { "line": 137, "column": 1 }, "end": { "line": 137, "column": 2 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 3793, "end": 3795, "loc": { "start": { "line": 139, "column": 1 }, "end": { "line": 139, "column": 3 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3795, "end": 3796, "loc": { "start": { "line": 139, "column": 3 }, "end": { "line": 139, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_count", "start": 3796, "end": 3803, "loc": { "start": { "line": 139, "column": 4 }, "end": { "line": 139, "column": 11 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 3804, "end": 3805, "loc": { "start": { "line": 139, "column": 12 }, "end": { "line": 139, "column": 13 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 3806, "end": 3807, "loc": { "start": { "line": 139, "column": 14 }, "end": { "line": 139, "column": 15 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3807, "end": 3808, "loc": { "start": { "line": 139, "column": 15 }, "end": { "line": 139, "column": 16 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3809, "end": 3810, "loc": { "start": { "line": 139, "column": 17 }, "end": { "line": 139, "column": 18 } } }, { "type": { "label": "for", "keyword": "for", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "for", "start": 3813, "end": 3816, "loc": { "start": { "line": 140, "column": 2 }, "end": { "line": 140, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3816, "end": 3817, "loc": { "start": { "line": 140, "column": 5 }, "end": { "line": 140, "column": 6 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 3817, "end": 3820, "loc": { "start": { "line": 140, "column": 6 }, "end": { "line": 140, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 3821, "end": 3823, "loc": { "start": { "line": 140, "column": 10 }, "end": { "line": 140, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3824, "end": 3825, "loc": { "start": { "line": 140, "column": 13 }, "end": { "line": 140, "column": 14 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 3826, "end": 3827, "loc": { "start": { "line": 140, "column": 15 }, "end": { "line": 140, "column": 16 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3827, "end": 3828, "loc": { "start": { "line": 140, "column": 16 }, "end": { "line": 140, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 3829, "end": 3831, "loc": { "start": { "line": 140, "column": 18 }, "end": { "line": 140, "column": 20 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 3832, "end": 3833, "loc": { "start": { "line": 140, "column": 21 }, "end": { "line": 140, "column": 22 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 3834, "end": 3835, "loc": { "start": { "line": 140, "column": 23 }, "end": { "line": 140, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3835, "end": 3836, "loc": { "start": { "line": 140, "column": 24 }, "end": { "line": 140, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 3837, "end": 3839, "loc": { "start": { "line": 140, "column": 26 }, "end": { "line": 140, "column": 28 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 3840, "end": 3841, "loc": { "start": { "line": 140, "column": 29 }, "end": { "line": 140, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_count", "start": 3842, "end": 3849, "loc": { "start": { "line": 140, "column": 31 }, "end": { "line": 140, "column": 38 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3849, "end": 3850, "loc": { "start": { "line": 140, "column": 38 }, "end": { "line": 140, "column": 39 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 3851, "end": 3853, "loc": { "start": { "line": 140, "column": 40 }, "end": { "line": 140, "column": 42 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 3854, "end": 3856, "loc": { "start": { "line": 140, "column": 43 }, "end": { "line": 140, "column": 45 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 3857, "end": 3858, "loc": { "start": { "line": 140, "column": 46 }, "end": { "line": 140, "column": 47 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3858, "end": 3859, "loc": { "start": { "line": 140, "column": 47 }, "end": { "line": 140, "column": 48 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 3860, "end": 3862, "loc": { "start": { "line": 140, "column": 49 }, "end": { "line": 140, "column": 51 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 3863, "end": 3865, "loc": { "start": { "line": 140, "column": 52 }, "end": { "line": 140, "column": 54 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 3866, "end": 3867, "loc": { "start": { "line": 140, "column": 55 }, "end": { "line": 140, "column": 56 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3867, "end": 3868, "loc": { "start": { "line": 140, "column": 56 }, "end": { "line": 140, "column": 57 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3869, "end": 3870, "loc": { "start": { "line": 140, "column": 58 }, "end": { "line": 140, "column": 59 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 3874, "end": 3876, "loc": { "start": { "line": 141, "column": 3 }, "end": { "line": 141, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3876, "end": 3877, "loc": { "start": { "line": 141, "column": 5 }, "end": { "line": 141, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "separatingAxis", "start": 3877, "end": 3891, "loc": { "start": { "line": 141, "column": 6 }, "end": { "line": 141, "column": 20 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3891, "end": 3892, "loc": { "start": { "line": 141, "column": 20 }, "end": { "line": 141, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 3892, "end": 3900, "loc": { "start": { "line": 141, "column": 21 }, "end": { "line": 141, "column": 29 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3900, "end": 3901, "loc": { "start": { "line": 141, "column": 29 }, "end": { "line": 141, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_coords", "start": 3902, "end": 3910, "loc": { "start": { "line": 141, "column": 31 }, "end": { "line": 141, "column": 39 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3910, "end": 3911, "loc": { "start": { "line": 141, "column": 39 }, "end": { "line": 141, "column": 40 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_normals", "start": 3912, "end": 3921, "loc": { "start": { "line": 141, "column": 41 }, "end": { "line": 141, "column": 50 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3921, "end": 3922, "loc": { "start": { "line": 141, "column": 50 }, "end": { "line": 141, "column": 51 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 3922, "end": 3924, "loc": { "start": { "line": 141, "column": 51 }, "end": { "line": 141, "column": 53 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3924, "end": 3925, "loc": { "start": { "line": 141, "column": 53 }, "end": { "line": 141, "column": 54 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3925, "end": 3926, "loc": { "start": { "line": 141, "column": 54 }, "end": { "line": 141, "column": 55 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_normals", "start": 3927, "end": 3936, "loc": { "start": { "line": 141, "column": 56 }, "end": { "line": 141, "column": 65 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3936, "end": 3937, "loc": { "start": { "line": 141, "column": 65 }, "end": { "line": 141, "column": 66 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 3937, "end": 3939, "loc": { "start": { "line": 141, "column": 66 }, "end": { "line": 141, "column": 68 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3939, "end": 3940, "loc": { "start": { "line": 141, "column": 68 }, "end": { "line": 141, "column": 69 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3940, "end": 3941, "loc": { "start": { "line": 141, "column": 69 }, "end": { "line": 141, "column": 70 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 3942, "end": 3948, "loc": { "start": { "line": 141, "column": 71 }, "end": { "line": 141, "column": 77 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3948, "end": 3949, "loc": { "start": { "line": 141, "column": 77 }, "end": { "line": 141, "column": 78 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3949, "end": 3950, "loc": { "start": { "line": 141, "column": 78 }, "end": { "line": 141, "column": 79 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3951, "end": 3952, "loc": { "start": { "line": 141, "column": 80 }, "end": { "line": 141, "column": 81 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 3957, "end": 3963, "loc": { "start": { "line": 142, "column": 4 }, "end": { "line": 142, "column": 10 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 3964, "end": 3969, "loc": { "start": { "line": 142, "column": 11 }, "end": { "line": 142, "column": 16 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3969, "end": 3970, "loc": { "start": { "line": 142, "column": 16 }, "end": { "line": 142, "column": 17 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3974, "end": 3975, "loc": { "start": { "line": 143, "column": 3 }, "end": { "line": 143, "column": 4 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3978, "end": 3979, "loc": { "start": { "line": 144, "column": 2 }, "end": { "line": 144, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3981, "end": 3982, "loc": { "start": { "line": 145, "column": 1 }, "end": { "line": 145, "column": 2 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 3985, "end": 3991, "loc": { "start": { "line": 147, "column": 1 }, "end": { "line": 147, "column": 7 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 3992, "end": 3996, "loc": { "start": { "line": 147, "column": 8 }, "end": { "line": 147, "column": 12 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 3996, "end": 3997, "loc": { "start": { "line": 147, "column": 12 }, "end": { "line": 147, "column": 13 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 3998, "end": 3999, "loc": { "start": { "line": 148, "column": 0 }, "end": { "line": 148, "column": 1 } } }, { "type": "CommentBlock", "value": "*\n * Determines if a polygon and a circle are colliding\n * @param {Polygon} a The source polygon to test\n * @param {Circle} b The target circle to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @param {Boolean} [reverse = false] Set to true to reverse a and b in the result parameter when testing circle->polygon instead of polygon->circle\n * @returns {Boolean}\n ", "start": 4001, "end": 4438, "loc": { "start": { "line": 150, "column": 0 }, "end": { "line": 157, "column": 3 } } }, { "type": { "label": "function", "keyword": "function", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "function", "start": 4439, "end": 4447, "loc": { "start": { "line": 158, "column": 0 }, "end": { "line": 158, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "polygonCircle", "start": 4448, "end": 4461, "loc": { "start": { "line": 158, "column": 9 }, "end": { "line": 158, "column": 22 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4461, "end": 4462, "loc": { "start": { "line": 158, "column": 22 }, "end": { "line": 158, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 4462, "end": 4463, "loc": { "start": { "line": 158, "column": 23 }, "end": { "line": 158, "column": 24 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4463, "end": 4464, "loc": { "start": { "line": 158, "column": 24 }, "end": { "line": 158, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 4465, "end": 4466, "loc": { "start": { "line": 158, "column": 26 }, "end": { "line": 158, "column": 27 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4466, "end": 4467, "loc": { "start": { "line": 158, "column": 27 }, "end": { "line": 158, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 4468, "end": 4474, "loc": { "start": { "line": 158, "column": 29 }, "end": { "line": 158, "column": 35 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4475, "end": 4476, "loc": { "start": { "line": 158, "column": 36 }, "end": { "line": 158, "column": 37 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 4477, "end": 4481, "loc": { "start": { "line": 158, "column": 38 }, "end": { "line": 158, "column": 42 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4481, "end": 4482, "loc": { "start": { "line": 158, "column": 42 }, "end": { "line": 158, "column": 43 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "reverse", "start": 4483, "end": 4490, "loc": { "start": { "line": 158, "column": 44 }, "end": { "line": 158, "column": 51 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4491, "end": 4492, "loc": { "start": { "line": 158, "column": 52 }, "end": { "line": 158, "column": 53 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 4493, "end": 4498, "loc": { "start": { "line": 158, "column": 54 }, "end": { "line": 158, "column": 59 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4498, "end": 4499, "loc": { "start": { "line": 158, "column": 59 }, "end": { "line": 158, "column": 60 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4500, "end": 4501, "loc": { "start": { "line": 158, "column": 61 }, "end": { "line": 158, "column": 62 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4503, "end": 4508, "loc": { "start": { "line": 159, "column": 1 }, "end": { "line": 159, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 4509, "end": 4517, "loc": { "start": { "line": 159, "column": 7 }, "end": { "line": 159, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4524, "end": 4525, "loc": { "start": { "line": 159, "column": 22 }, "end": { "line": 159, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 4526, "end": 4527, "loc": { "start": { "line": 159, "column": 24 }, "end": { "line": 159, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4527, "end": 4528, "loc": { "start": { "line": 159, "column": 25 }, "end": { "line": 159, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_coords", "start": 4528, "end": 4535, "loc": { "start": { "line": 159, "column": 26 }, "end": { "line": 159, "column": 33 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4535, "end": 4536, "loc": { "start": { "line": 159, "column": 33 }, "end": { "line": 159, "column": 34 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4538, "end": 4543, "loc": { "start": { "line": 160, "column": 1 }, "end": { "line": 160, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_edges", "start": 4544, "end": 4551, "loc": { "start": { "line": 160, "column": 7 }, "end": { "line": 160, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4559, "end": 4560, "loc": { "start": { "line": 160, "column": 22 }, "end": { "line": 160, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 4561, "end": 4562, "loc": { "start": { "line": 160, "column": 24 }, "end": { "line": 160, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4562, "end": 4563, "loc": { "start": { "line": 160, "column": 25 }, "end": { "line": 160, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_edges", "start": 4563, "end": 4569, "loc": { "start": { "line": 160, "column": 26 }, "end": { "line": 160, "column": 32 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4569, "end": 4570, "loc": { "start": { "line": 160, "column": 32 }, "end": { "line": 160, "column": 33 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4572, "end": 4577, "loc": { "start": { "line": 161, "column": 1 }, "end": { "line": 161, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_normals", "start": 4578, "end": 4587, "loc": { "start": { "line": 161, "column": 7 }, "end": { "line": 161, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4593, "end": 4594, "loc": { "start": { "line": 161, "column": 22 }, "end": { "line": 161, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 4595, "end": 4596, "loc": { "start": { "line": 161, "column": 24 }, "end": { "line": 161, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4596, "end": 4597, "loc": { "start": { "line": 161, "column": 25 }, "end": { "line": 161, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_normals", "start": 4597, "end": 4605, "loc": { "start": { "line": 161, "column": 26 }, "end": { "line": 161, "column": 34 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4605, "end": 4606, "loc": { "start": { "line": 161, "column": 34 }, "end": { "line": 161, "column": 35 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4608, "end": 4613, "loc": { "start": { "line": 162, "column": 1 }, "end": { "line": 162, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_x", "start": 4614, "end": 4617, "loc": { "start": { "line": 162, "column": 7 }, "end": { "line": 162, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4629, "end": 4630, "loc": { "start": { "line": 162, "column": 22 }, "end": { "line": 162, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 4631, "end": 4632, "loc": { "start": { "line": 162, "column": 24 }, "end": { "line": 162, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4632, "end": 4633, "loc": { "start": { "line": 162, "column": 25 }, "end": { "line": 162, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 4633, "end": 4634, "loc": { "start": { "line": 162, "column": 26 }, "end": { "line": 162, "column": 27 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4634, "end": 4635, "loc": { "start": { "line": 162, "column": 27 }, "end": { "line": 162, "column": 28 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4637, "end": 4642, "loc": { "start": { "line": 163, "column": 1 }, "end": { "line": 163, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_y", "start": 4643, "end": 4646, "loc": { "start": { "line": 163, "column": 7 }, "end": { "line": 163, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4658, "end": 4659, "loc": { "start": { "line": 163, "column": 22 }, "end": { "line": 163, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 4660, "end": 4661, "loc": { "start": { "line": 163, "column": 24 }, "end": { "line": 163, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4661, "end": 4662, "loc": { "start": { "line": 163, "column": 25 }, "end": { "line": 163, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 4662, "end": 4663, "loc": { "start": { "line": 163, "column": 26 }, "end": { "line": 163, "column": 27 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4663, "end": 4664, "loc": { "start": { "line": 163, "column": 27 }, "end": { "line": 163, "column": 28 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4666, "end": 4671, "loc": { "start": { "line": 164, "column": 1 }, "end": { "line": 164, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 4672, "end": 4680, "loc": { "start": { "line": 164, "column": 7 }, "end": { "line": 164, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4687, "end": 4688, "loc": { "start": { "line": 164, "column": 22 }, "end": { "line": 164, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 4689, "end": 4690, "loc": { "start": { "line": 164, "column": 24 }, "end": { "line": 164, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4690, "end": 4691, "loc": { "start": { "line": 164, "column": 25 }, "end": { "line": 164, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 4691, "end": 4697, "loc": { "start": { "line": 164, "column": 26 }, "end": { "line": 164, "column": 32 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 4698, "end": 4699, "loc": { "start": { "line": 164, "column": 33 }, "end": { "line": 164, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 4700, "end": 4701, "loc": { "start": { "line": 164, "column": 35 }, "end": { "line": 164, "column": 36 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4701, "end": 4702, "loc": { "start": { "line": 164, "column": 36 }, "end": { "line": 164, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale", "start": 4702, "end": 4707, "loc": { "start": { "line": 164, "column": 37 }, "end": { "line": 164, "column": 42 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4707, "end": 4708, "loc": { "start": { "line": 164, "column": 42 }, "end": { "line": 164, "column": 43 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4710, "end": 4715, "loc": { "start": { "line": 165, "column": 1 }, "end": { "line": 165, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius2", "start": 4716, "end": 4725, "loc": { "start": { "line": 165, "column": 7 }, "end": { "line": 165, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4731, "end": 4732, "loc": { "start": { "line": 165, "column": 22 }, "end": { "line": 165, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 4733, "end": 4741, "loc": { "start": { "line": 165, "column": 24 }, "end": { "line": 165, "column": 32 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 4742, "end": 4743, "loc": { "start": { "line": 165, "column": 33 }, "end": { "line": 165, "column": 34 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 4744, "end": 4745, "loc": { "start": { "line": 165, "column": 35 }, "end": { "line": 165, "column": 36 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4745, "end": 4746, "loc": { "start": { "line": 165, "column": 36 }, "end": { "line": 165, "column": 37 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4748, "end": 4753, "loc": { "start": { "line": 166, "column": 1 }, "end": { "line": 166, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius_squared", "start": 4754, "end": 4768, "loc": { "start": { "line": 166, "column": 7 }, "end": { "line": 166, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4769, "end": 4770, "loc": { "start": { "line": 166, "column": 22 }, "end": { "line": 166, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 4771, "end": 4779, "loc": { "start": { "line": 166, "column": 24 }, "end": { "line": 166, "column": 32 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 4780, "end": 4781, "loc": { "start": { "line": 166, "column": 33 }, "end": { "line": 166, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 4782, "end": 4790, "loc": { "start": { "line": 166, "column": 35 }, "end": { "line": 166, "column": 43 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4790, "end": 4791, "loc": { "start": { "line": 166, "column": 43 }, "end": { "line": 166, "column": 44 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4793, "end": 4798, "loc": { "start": { "line": 167, "column": 1 }, "end": { "line": 167, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 4799, "end": 4804, "loc": { "start": { "line": 167, "column": 7 }, "end": { "line": 167, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4814, "end": 4815, "loc": { "start": { "line": 167, "column": 22 }, "end": { "line": 167, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 4816, "end": 4824, "loc": { "start": { "line": 167, "column": 24 }, "end": { "line": 167, "column": 32 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4824, "end": 4825, "loc": { "start": { "line": 167, "column": 32 }, "end": { "line": 167, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 4825, "end": 4831, "loc": { "start": { "line": 167, "column": 33 }, "end": { "line": 167, "column": 39 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4831, "end": 4832, "loc": { "start": { "line": 167, "column": 39 }, "end": { "line": 167, "column": 40 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 4835, "end": 4838, "loc": { "start": { "line": 169, "column": 1 }, "end": { "line": 169, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_in_b", "start": 4839, "end": 4845, "loc": { "start": { "line": 169, "column": 5 }, "end": { "line": 169, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4849, "end": 4850, "loc": { "start": { "line": 169, "column": 15 }, "end": { "line": 169, "column": 16 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 4851, "end": 4855, "loc": { "start": { "line": 169, "column": 17 }, "end": { "line": 169, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4855, "end": 4856, "loc": { "start": { "line": 169, "column": 21 }, "end": { "line": 169, "column": 22 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 4858, "end": 4861, "loc": { "start": { "line": 170, "column": 1 }, "end": { "line": 170, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_in_a", "start": 4862, "end": 4868, "loc": { "start": { "line": 170, "column": 5 }, "end": { "line": 170, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4872, "end": 4873, "loc": { "start": { "line": 170, "column": 15 }, "end": { "line": 170, "column": 16 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 4874, "end": 4878, "loc": { "start": { "line": 170, "column": 17 }, "end": { "line": 170, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4878, "end": 4879, "loc": { "start": { "line": 170, "column": 21 }, "end": { "line": 170, "column": 22 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 4881, "end": 4884, "loc": { "start": { "line": 171, "column": 1 }, "end": { "line": 171, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 4885, "end": 4892, "loc": { "start": { "line": 171, "column": 5 }, "end": { "line": 171, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4895, "end": 4896, "loc": { "start": { "line": 171, "column": 15 }, "end": { "line": 171, "column": 16 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 4897, "end": 4901, "loc": { "start": { "line": 171, "column": 17 }, "end": { "line": 171, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4901, "end": 4902, "loc": { "start": { "line": 171, "column": 21 }, "end": { "line": 171, "column": 22 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 4904, "end": 4907, "loc": { "start": { "line": 172, "column": 1 }, "end": { "line": 172, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_x", "start": 4908, "end": 4917, "loc": { "start": { "line": 172, "column": 5 }, "end": { "line": 172, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4918, "end": 4919, "loc": { "start": { "line": 172, "column": 15 }, "end": { "line": 172, "column": 16 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 4920, "end": 4921, "loc": { "start": { "line": 172, "column": 17 }, "end": { "line": 172, "column": 18 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4921, "end": 4922, "loc": { "start": { "line": 172, "column": 18 }, "end": { "line": 172, "column": 19 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 4924, "end": 4927, "loc": { "start": { "line": 173, "column": 1 }, "end": { "line": 173, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_y", "start": 4928, "end": 4937, "loc": { "start": { "line": 173, "column": 5 }, "end": { "line": 173, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 4938, "end": 4939, "loc": { "start": { "line": 173, "column": 15 }, "end": { "line": 173, "column": 16 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 4940, "end": 4941, "loc": { "start": { "line": 173, "column": 17 }, "end": { "line": 173, "column": 18 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 4941, "end": 4942, "loc": { "start": { "line": 173, "column": 18 }, "end": { "line": 173, "column": 19 } } }, { "type": "CommentLine", "value": " Handle points specially", "start": 4945, "end": 4971, "loc": { "start": { "line": 175, "column": 1 }, "end": { "line": 175, "column": 27 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 4973, "end": 4975, "loc": { "start": { "line": 176, "column": 1 }, "end": { "line": 176, "column": 3 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4975, "end": 4976, "loc": { "start": { "line": 176, "column": 3 }, "end": { "line": 176, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 4976, "end": 4981, "loc": { "start": { "line": 176, "column": 4 }, "end": { "line": 176, "column": 9 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 4982, "end": 4985, "loc": { "start": { "line": 176, "column": 10 }, "end": { "line": 176, "column": 13 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 4986, "end": 4987, "loc": { "start": { "line": 176, "column": 14 }, "end": { "line": 176, "column": 15 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4987, "end": 4988, "loc": { "start": { "line": 176, "column": 15 }, "end": { "line": 176, "column": 16 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 4989, "end": 4990, "loc": { "start": { "line": 176, "column": 17 }, "end": { "line": 176, "column": 18 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 4993, "end": 4998, "loc": { "start": { "line": 177, "column": 2 }, "end": { "line": 177, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 4999, "end": 5006, "loc": { "start": { "line": 177, "column": 8 }, "end": { "line": 177, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5014, "end": 5015, "loc": { "start": { "line": 177, "column": 23 }, "end": { "line": 177, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_x", "start": 5016, "end": 5019, "loc": { "start": { "line": 177, "column": 25 }, "end": { "line": 177, "column": 28 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 5020, "end": 5021, "loc": { "start": { "line": 177, "column": 29 }, "end": { "line": 177, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 5022, "end": 5030, "loc": { "start": { "line": 177, "column": 31 }, "end": { "line": 177, "column": 39 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5030, "end": 5031, "loc": { "start": { "line": 177, "column": 39 }, "end": { "line": 177, "column": 40 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 5031, "end": 5032, "loc": { "start": { "line": 177, "column": 40 }, "end": { "line": 177, "column": 41 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5032, "end": 5033, "loc": { "start": { "line": 177, "column": 41 }, "end": { "line": 177, "column": 42 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5033, "end": 5034, "loc": { "start": { "line": 177, "column": 42 }, "end": { "line": 177, "column": 43 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5037, "end": 5042, "loc": { "start": { "line": 178, "column": 2 }, "end": { "line": 178, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 5043, "end": 5050, "loc": { "start": { "line": 178, "column": 8 }, "end": { "line": 178, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5058, "end": 5059, "loc": { "start": { "line": 178, "column": 23 }, "end": { "line": 178, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_y", "start": 5060, "end": 5063, "loc": { "start": { "line": 178, "column": 25 }, "end": { "line": 178, "column": 28 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 5064, "end": 5065, "loc": { "start": { "line": 178, "column": 29 }, "end": { "line": 178, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 5066, "end": 5074, "loc": { "start": { "line": 178, "column": 31 }, "end": { "line": 178, "column": 39 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5074, "end": 5075, "loc": { "start": { "line": 178, "column": 39 }, "end": { "line": 178, "column": 40 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 5075, "end": 5076, "loc": { "start": { "line": 178, "column": 40 }, "end": { "line": 178, "column": 41 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5076, "end": 5077, "loc": { "start": { "line": 178, "column": 41 }, "end": { "line": 178, "column": 42 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5077, "end": 5078, "loc": { "start": { "line": 178, "column": 42 }, "end": { "line": 178, "column": 43 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5081, "end": 5086, "loc": { "start": { "line": 179, "column": 2 }, "end": { "line": 179, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length_squared", "start": 5087, "end": 5101, "loc": { "start": { "line": 179, "column": 8 }, "end": { "line": 179, "column": 22 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5102, "end": 5103, "loc": { "start": { "line": 179, "column": 23 }, "end": { "line": 179, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 5104, "end": 5111, "loc": { "start": { "line": 179, "column": 25 }, "end": { "line": 179, "column": 32 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 5112, "end": 5113, "loc": { "start": { "line": 179, "column": 33 }, "end": { "line": 179, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 5114, "end": 5121, "loc": { "start": { "line": 179, "column": 35 }, "end": { "line": 179, "column": 42 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 5122, "end": 5123, "loc": { "start": { "line": 179, "column": 43 }, "end": { "line": 179, "column": 44 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 5124, "end": 5131, "loc": { "start": { "line": 179, "column": 45 }, "end": { "line": 179, "column": 52 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 5132, "end": 5133, "loc": { "start": { "line": 179, "column": 53 }, "end": { "line": 179, "column": 54 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 5134, "end": 5141, "loc": { "start": { "line": 179, "column": 55 }, "end": { "line": 179, "column": 62 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5141, "end": 5142, "loc": { "start": { "line": 179, "column": 62 }, "end": { "line": 179, "column": 63 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 5146, "end": 5148, "loc": { "start": { "line": 181, "column": 2 }, "end": { "line": 181, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5148, "end": 5149, "loc": { "start": { "line": 181, "column": 4 }, "end": { "line": 181, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length_squared", "start": 5149, "end": 5163, "loc": { "start": { "line": 181, "column": 5 }, "end": { "line": 181, "column": 19 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 5164, "end": 5165, "loc": { "start": { "line": 181, "column": 20 }, "end": { "line": 181, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius_squared", "start": 5166, "end": 5180, "loc": { "start": { "line": 181, "column": 22 }, "end": { "line": 181, "column": 36 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5180, "end": 5181, "loc": { "start": { "line": 181, "column": 36 }, "end": { "line": 181, "column": 37 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5182, "end": 5183, "loc": { "start": { "line": 181, "column": 38 }, "end": { "line": 181, "column": 39 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 5187, "end": 5193, "loc": { "start": { "line": 182, "column": 3 }, "end": { "line": 182, "column": 9 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 5194, "end": 5199, "loc": { "start": { "line": 182, "column": 10 }, "end": { "line": 182, "column": 15 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5199, "end": 5200, "loc": { "start": { "line": 182, "column": 15 }, "end": { "line": 182, "column": 16 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5203, "end": 5204, "loc": { "start": { "line": 183, "column": 2 }, "end": { "line": 183, "column": 3 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 5208, "end": 5210, "loc": { "start": { "line": 185, "column": 2 }, "end": { "line": 185, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5210, "end": 5211, "loc": { "start": { "line": 185, "column": 4 }, "end": { "line": 185, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 5211, "end": 5217, "loc": { "start": { "line": 185, "column": 5 }, "end": { "line": 185, "column": 11 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5217, "end": 5218, "loc": { "start": { "line": 185, "column": 11 }, "end": { "line": 185, "column": 12 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5219, "end": 5220, "loc": { "start": { "line": 185, "column": 13 }, "end": { "line": 185, "column": 14 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5224, "end": 5229, "loc": { "start": { "line": 186, "column": 3 }, "end": { "line": 186, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 5230, "end": 5236, "loc": { "start": { "line": 186, "column": 9 }, "end": { "line": 186, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5237, "end": 5238, "loc": { "start": { "line": 186, "column": 16 }, "end": { "line": 186, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Math", "start": 5239, "end": 5243, "loc": { "start": { "line": 186, "column": 18 }, "end": { "line": 186, "column": 22 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5243, "end": 5244, "loc": { "start": { "line": 186, "column": 22 }, "end": { "line": 186, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sqrt", "start": 5244, "end": 5248, "loc": { "start": { "line": 186, "column": 23 }, "end": { "line": 186, "column": 27 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5248, "end": 5249, "loc": { "start": { "line": 186, "column": 27 }, "end": { "line": 186, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length_squared", "start": 5249, "end": 5263, "loc": { "start": { "line": 186, "column": 28 }, "end": { "line": 186, "column": 42 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5263, "end": 5264, "loc": { "start": { "line": 186, "column": 42 }, "end": { "line": 186, "column": 43 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5264, "end": 5265, "loc": { "start": { "line": 186, "column": 43 }, "end": { "line": 186, "column": 44 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 5270, "end": 5277, "loc": { "start": { "line": 188, "column": 3 }, "end": { "line": 188, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5280, "end": 5281, "loc": { "start": { "line": 188, "column": 13 }, "end": { "line": 188, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 5282, "end": 5290, "loc": { "start": { "line": 188, "column": 15 }, "end": { "line": 188, "column": 23 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 5291, "end": 5292, "loc": { "start": { "line": 188, "column": 24 }, "end": { "line": 188, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 5293, "end": 5299, "loc": { "start": { "line": 188, "column": 26 }, "end": { "line": 188, "column": 32 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5299, "end": 5300, "loc": { "start": { "line": 188, "column": 32 }, "end": { "line": 188, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_x", "start": 5304, "end": 5313, "loc": { "start": { "line": 189, "column": 3 }, "end": { "line": 189, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5314, "end": 5315, "loc": { "start": { "line": 189, "column": 13 }, "end": { "line": 189, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 5316, "end": 5323, "loc": { "start": { "line": 189, "column": 15 }, "end": { "line": 189, "column": 22 } } }, { "type": { "label": "/", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "/", "start": 5324, "end": 5325, "loc": { "start": { "line": 189, "column": 23 }, "end": { "line": 189, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 5326, "end": 5332, "loc": { "start": { "line": 189, "column": 25 }, "end": { "line": 189, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5332, "end": 5333, "loc": { "start": { "line": 189, "column": 31 }, "end": { "line": 189, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_y", "start": 5337, "end": 5346, "loc": { "start": { "line": 190, "column": 3 }, "end": { "line": 190, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5347, "end": 5348, "loc": { "start": { "line": 190, "column": 13 }, "end": { "line": 190, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 5349, "end": 5356, "loc": { "start": { "line": 190, "column": 15 }, "end": { "line": 190, "column": 22 } } }, { "type": { "label": "/", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "/", "start": 5357, "end": 5358, "loc": { "start": { "line": 190, "column": 23 }, "end": { "line": 190, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 5359, "end": 5365, "loc": { "start": { "line": 190, "column": 25 }, "end": { "line": 190, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5365, "end": 5366, "loc": { "start": { "line": 190, "column": 31 }, "end": { "line": 190, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_in_a", "start": 5370, "end": 5376, "loc": { "start": { "line": 191, "column": 3 }, "end": { "line": 191, "column": 9 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5380, "end": 5381, "loc": { "start": { "line": 191, "column": 13 }, "end": { "line": 191, "column": 14 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 5382, "end": 5387, "loc": { "start": { "line": 191, "column": 15 }, "end": { "line": 191, "column": 20 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5387, "end": 5388, "loc": { "start": { "line": 191, "column": 20 }, "end": { "line": 191, "column": 21 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5391, "end": 5392, "loc": { "start": { "line": 192, "column": 2 }, "end": { "line": 192, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5394, "end": 5395, "loc": { "start": { "line": 193, "column": 1 }, "end": { "line": 193, "column": 2 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 5397, "end": 5401, "loc": { "start": { "line": 194, "column": 1 }, "end": { "line": 194, "column": 5 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5402, "end": 5403, "loc": { "start": { "line": 194, "column": 6 }, "end": { "line": 194, "column": 7 } } }, { "type": { "label": "for", "keyword": "for", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "for", "start": 5406, "end": 5409, "loc": { "start": { "line": 195, "column": 2 }, "end": { "line": 195, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5409, "end": 5410, "loc": { "start": { "line": 195, "column": 5 }, "end": { "line": 195, "column": 6 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 5410, "end": 5413, "loc": { "start": { "line": 195, "column": 6 }, "end": { "line": 195, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 5414, "end": 5416, "loc": { "start": { "line": 195, "column": 10 }, "end": { "line": 195, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5417, "end": 5418, "loc": { "start": { "line": 195, "column": 13 }, "end": { "line": 195, "column": 14 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 5419, "end": 5420, "loc": { "start": { "line": 195, "column": 15 }, "end": { "line": 195, "column": 16 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5420, "end": 5421, "loc": { "start": { "line": 195, "column": 16 }, "end": { "line": 195, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 5422, "end": 5424, "loc": { "start": { "line": 195, "column": 18 }, "end": { "line": 195, "column": 20 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5425, "end": 5426, "loc": { "start": { "line": 195, "column": 21 }, "end": { "line": 195, "column": 22 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 5427, "end": 5428, "loc": { "start": { "line": 195, "column": 23 }, "end": { "line": 195, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5428, "end": 5429, "loc": { "start": { "line": 195, "column": 24 }, "end": { "line": 195, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 5430, "end": 5432, "loc": { "start": { "line": 195, "column": 26 }, "end": { "line": 195, "column": 28 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 5433, "end": 5434, "loc": { "start": { "line": 195, "column": 29 }, "end": { "line": 195, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 5435, "end": 5440, "loc": { "start": { "line": 195, "column": 31 }, "end": { "line": 195, "column": 36 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5440, "end": 5441, "loc": { "start": { "line": 195, "column": 36 }, "end": { "line": 195, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 5442, "end": 5444, "loc": { "start": { "line": 195, "column": 38 }, "end": { "line": 195, "column": 40 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 5445, "end": 5447, "loc": { "start": { "line": 195, "column": 41 }, "end": { "line": 195, "column": 43 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 5448, "end": 5449, "loc": { "start": { "line": 195, "column": 44 }, "end": { "line": 195, "column": 45 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5449, "end": 5450, "loc": { "start": { "line": 195, "column": 45 }, "end": { "line": 195, "column": 46 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 5451, "end": 5453, "loc": { "start": { "line": 195, "column": 47 }, "end": { "line": 195, "column": 49 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 5454, "end": 5456, "loc": { "start": { "line": 195, "column": 50 }, "end": { "line": 195, "column": 52 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 5457, "end": 5458, "loc": { "start": { "line": 195, "column": 53 }, "end": { "line": 195, "column": 54 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5458, "end": 5459, "loc": { "start": { "line": 195, "column": 54 }, "end": { "line": 195, "column": 55 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5460, "end": 5461, "loc": { "start": { "line": 195, "column": 56 }, "end": { "line": 195, "column": 57 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5465, "end": 5470, "loc": { "start": { "line": 196, "column": 3 }, "end": { "line": 196, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 5471, "end": 5478, "loc": { "start": { "line": 196, "column": 9 }, "end": { "line": 196, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5479, "end": 5480, "loc": { "start": { "line": 196, "column": 17 }, "end": { "line": 196, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_x", "start": 5481, "end": 5484, "loc": { "start": { "line": 196, "column": 19 }, "end": { "line": 196, "column": 22 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 5485, "end": 5486, "loc": { "start": { "line": 196, "column": 23 }, "end": { "line": 196, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 5487, "end": 5495, "loc": { "start": { "line": 196, "column": 25 }, "end": { "line": 196, "column": 33 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5495, "end": 5496, "loc": { "start": { "line": 196, "column": 33 }, "end": { "line": 196, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 5496, "end": 5498, "loc": { "start": { "line": 196, "column": 34 }, "end": { "line": 196, "column": 36 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5498, "end": 5499, "loc": { "start": { "line": 196, "column": 36 }, "end": { "line": 196, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5499, "end": 5500, "loc": { "start": { "line": 196, "column": 37 }, "end": { "line": 196, "column": 38 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5504, "end": 5509, "loc": { "start": { "line": 197, "column": 3 }, "end": { "line": 197, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 5510, "end": 5517, "loc": { "start": { "line": 197, "column": 9 }, "end": { "line": 197, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5518, "end": 5519, "loc": { "start": { "line": 197, "column": 17 }, "end": { "line": 197, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_y", "start": 5520, "end": 5523, "loc": { "start": { "line": 197, "column": 19 }, "end": { "line": 197, "column": 22 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 5524, "end": 5525, "loc": { "start": { "line": 197, "column": 23 }, "end": { "line": 197, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 5526, "end": 5534, "loc": { "start": { "line": 197, "column": 25 }, "end": { "line": 197, "column": 33 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5534, "end": 5535, "loc": { "start": { "line": 197, "column": 33 }, "end": { "line": 197, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 5535, "end": 5537, "loc": { "start": { "line": 197, "column": 34 }, "end": { "line": 197, "column": 36 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5537, "end": 5538, "loc": { "start": { "line": 197, "column": 36 }, "end": { "line": 197, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5538, "end": 5539, "loc": { "start": { "line": 197, "column": 37 }, "end": { "line": 197, "column": 38 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5543, "end": 5548, "loc": { "start": { "line": 198, "column": 3 }, "end": { "line": 198, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edge_x", "start": 5549, "end": 5555, "loc": { "start": { "line": 198, "column": 9 }, "end": { "line": 198, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5557, "end": 5558, "loc": { "start": { "line": 198, "column": 17 }, "end": { "line": 198, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_edges", "start": 5559, "end": 5566, "loc": { "start": { "line": 198, "column": 19 }, "end": { "line": 198, "column": 26 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5566, "end": 5567, "loc": { "start": { "line": 198, "column": 26 }, "end": { "line": 198, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 5567, "end": 5569, "loc": { "start": { "line": 198, "column": 27 }, "end": { "line": 198, "column": 29 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5569, "end": 5570, "loc": { "start": { "line": 198, "column": 29 }, "end": { "line": 198, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5570, "end": 5571, "loc": { "start": { "line": 198, "column": 30 }, "end": { "line": 198, "column": 31 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5575, "end": 5580, "loc": { "start": { "line": 199, "column": 3 }, "end": { "line": 199, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edge_y", "start": 5581, "end": 5587, "loc": { "start": { "line": 199, "column": 9 }, "end": { "line": 199, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5589, "end": 5590, "loc": { "start": { "line": 199, "column": 17 }, "end": { "line": 199, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_edges", "start": 5591, "end": 5598, "loc": { "start": { "line": 199, "column": 19 }, "end": { "line": 199, "column": 26 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5598, "end": 5599, "loc": { "start": { "line": 199, "column": 26 }, "end": { "line": 199, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 5599, "end": 5601, "loc": { "start": { "line": 199, "column": 27 }, "end": { "line": 199, "column": 29 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5601, "end": 5602, "loc": { "start": { "line": 199, "column": 29 }, "end": { "line": 199, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5602, "end": 5603, "loc": { "start": { "line": 199, "column": 30 }, "end": { "line": 199, "column": 31 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5607, "end": 5612, "loc": { "start": { "line": 200, "column": 3 }, "end": { "line": 200, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dot", "start": 5613, "end": 5616, "loc": { "start": { "line": 200, "column": 9 }, "end": { "line": 200, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5621, "end": 5622, "loc": { "start": { "line": 200, "column": 17 }, "end": { "line": 200, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 5623, "end": 5630, "loc": { "start": { "line": 200, "column": 19 }, "end": { "line": 200, "column": 26 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 5631, "end": 5632, "loc": { "start": { "line": 200, "column": 27 }, "end": { "line": 200, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edge_x", "start": 5633, "end": 5639, "loc": { "start": { "line": 200, "column": 29 }, "end": { "line": 200, "column": 35 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 5640, "end": 5641, "loc": { "start": { "line": 200, "column": 36 }, "end": { "line": 200, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 5642, "end": 5649, "loc": { "start": { "line": 200, "column": 38 }, "end": { "line": 200, "column": 45 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 5650, "end": 5651, "loc": { "start": { "line": 200, "column": 46 }, "end": { "line": 200, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edge_y", "start": 5652, "end": 5658, "loc": { "start": { "line": 200, "column": 48 }, "end": { "line": 200, "column": 54 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5658, "end": 5659, "loc": { "start": { "line": 200, "column": 54 }, "end": { "line": 200, "column": 55 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5663, "end": 5668, "loc": { "start": { "line": 201, "column": 3 }, "end": { "line": 201, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "region", "start": 5669, "end": 5675, "loc": { "start": { "line": 201, "column": 9 }, "end": { "line": 201, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5677, "end": 5678, "loc": { "start": { "line": 201, "column": 17 }, "end": { "line": 201, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dot", "start": 5679, "end": 5682, "loc": { "start": { "line": 201, "column": 19 }, "end": { "line": 201, "column": 22 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 5683, "end": 5684, "loc": { "start": { "line": 201, "column": 23 }, "end": { "line": 201, "column": 24 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 5685, "end": 5686, "loc": { "start": { "line": 201, "column": 25 }, "end": { "line": 201, "column": 26 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5687, "end": 5688, "loc": { "start": { "line": 201, "column": 27 }, "end": { "line": 201, "column": 28 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 5689, "end": 5690, "loc": { "start": { "line": 201, "column": 29 }, "end": { "line": 201, "column": 30 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 5690, "end": 5691, "loc": { "start": { "line": 201, "column": 30 }, "end": { "line": 201, "column": 31 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5692, "end": 5693, "loc": { "start": { "line": 201, "column": 32 }, "end": { "line": 201, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dot", "start": 5694, "end": 5697, "loc": { "start": { "line": 201, "column": 34 }, "end": { "line": 201, "column": 37 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 5698, "end": 5699, "loc": { "start": { "line": 201, "column": 38 }, "end": { "line": 201, "column": 39 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edge_x", "start": 5700, "end": 5706, "loc": { "start": { "line": 201, "column": 40 }, "end": { "line": 201, "column": 46 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 5707, "end": 5708, "loc": { "start": { "line": 201, "column": 47 }, "end": { "line": 201, "column": 48 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edge_x", "start": 5709, "end": 5715, "loc": { "start": { "line": 201, "column": 49 }, "end": { "line": 201, "column": 55 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 5716, "end": 5717, "loc": { "start": { "line": 201, "column": 56 }, "end": { "line": 201, "column": 57 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edge_y", "start": 5718, "end": 5724, "loc": { "start": { "line": 201, "column": 58 }, "end": { "line": 201, "column": 64 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 5725, "end": 5726, "loc": { "start": { "line": 201, "column": 65 }, "end": { "line": 201, "column": 66 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edge_y", "start": 5727, "end": 5733, "loc": { "start": { "line": 201, "column": 67 }, "end": { "line": 201, "column": 73 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5734, "end": 5735, "loc": { "start": { "line": 201, "column": 74 }, "end": { "line": 201, "column": 75 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 5736, "end": 5737, "loc": { "start": { "line": 201, "column": 76 }, "end": { "line": 201, "column": 77 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5738, "end": 5739, "loc": { "start": { "line": 201, "column": 78 }, "end": { "line": 201, "column": 79 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 5740, "end": 5741, "loc": { "start": { "line": 201, "column": 80 }, "end": { "line": 201, "column": 81 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5741, "end": 5742, "loc": { "start": { "line": 201, "column": 81 }, "end": { "line": 201, "column": 82 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 5747, "end": 5750, "loc": { "start": { "line": 203, "column": 3 }, "end": { "line": 203, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlapping", "start": 5751, "end": 5766, "loc": { "start": { "line": 203, "column": 7 }, "end": { "line": 203, "column": 22 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5767, "end": 5768, "loc": { "start": { "line": 203, "column": 23 }, "end": { "line": 203, "column": 24 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 5769, "end": 5774, "loc": { "start": { "line": 203, "column": 25 }, "end": { "line": 203, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5774, "end": 5775, "loc": { "start": { "line": 203, "column": 30 }, "end": { "line": 203, "column": 31 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 5779, "end": 5782, "loc": { "start": { "line": 204, "column": 3 }, "end": { "line": 204, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlap", "start": 5783, "end": 5794, "loc": { "start": { "line": 204, "column": 7 }, "end": { "line": 204, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5799, "end": 5800, "loc": { "start": { "line": 204, "column": 23 }, "end": { "line": 204, "column": 24 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 5801, "end": 5802, "loc": { "start": { "line": 204, "column": 25 }, "end": { "line": 204, "column": 26 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5802, "end": 5803, "loc": { "start": { "line": 204, "column": 26 }, "end": { "line": 204, "column": 27 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 5807, "end": 5810, "loc": { "start": { "line": 205, "column": 3 }, "end": { "line": 205, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlap_x", "start": 5811, "end": 5824, "loc": { "start": { "line": 205, "column": 7 }, "end": { "line": 205, "column": 20 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5827, "end": 5828, "loc": { "start": { "line": 205, "column": 23 }, "end": { "line": 205, "column": 24 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 5829, "end": 5830, "loc": { "start": { "line": 205, "column": 25 }, "end": { "line": 205, "column": 26 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5830, "end": 5831, "loc": { "start": { "line": 205, "column": 26 }, "end": { "line": 205, "column": 27 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 5835, "end": 5838, "loc": { "start": { "line": 206, "column": 3 }, "end": { "line": 206, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlap_y", "start": 5839, "end": 5852, "loc": { "start": { "line": 206, "column": 7 }, "end": { "line": 206, "column": 20 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5855, "end": 5856, "loc": { "start": { "line": 206, "column": 23 }, "end": { "line": 206, "column": 24 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 5857, "end": 5858, "loc": { "start": { "line": 206, "column": 25 }, "end": { "line": 206, "column": 26 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5858, "end": 5859, "loc": { "start": { "line": 206, "column": 26 }, "end": { "line": 206, "column": 27 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 5864, "end": 5866, "loc": { "start": { "line": 208, "column": 3 }, "end": { "line": 208, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5866, "end": 5867, "loc": { "start": { "line": 208, "column": 5 }, "end": { "line": 208, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 5867, "end": 5873, "loc": { "start": { "line": 208, "column": 6 }, "end": { "line": 208, "column": 12 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 5874, "end": 5876, "loc": { "start": { "line": 208, "column": 13 }, "end": { "line": 208, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_in_b", "start": 5877, "end": 5883, "loc": { "start": { "line": 208, "column": 16 }, "end": { "line": 208, "column": 22 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 5884, "end": 5886, "loc": { "start": { "line": 208, "column": 23 }, "end": { "line": 208, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 5887, "end": 5894, "loc": { "start": { "line": 208, "column": 26 }, "end": { "line": 208, "column": 33 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 5895, "end": 5896, "loc": { "start": { "line": 208, "column": 34 }, "end": { "line": 208, "column": 35 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 5897, "end": 5904, "loc": { "start": { "line": 208, "column": 36 }, "end": { "line": 208, "column": 43 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 5905, "end": 5906, "loc": { "start": { "line": 208, "column": 44 }, "end": { "line": 208, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 5907, "end": 5914, "loc": { "start": { "line": 208, "column": 46 }, "end": { "line": 208, "column": 53 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 5915, "end": 5916, "loc": { "start": { "line": 208, "column": 54 }, "end": { "line": 208, "column": 55 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 5917, "end": 5924, "loc": { "start": { "line": 208, "column": 56 }, "end": { "line": 208, "column": 63 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 5925, "end": 5926, "loc": { "start": { "line": 208, "column": 64 }, "end": { "line": 208, "column": 65 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius_squared", "start": 5927, "end": 5941, "loc": { "start": { "line": 208, "column": 66 }, "end": { "line": 208, "column": 80 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5941, "end": 5942, "loc": { "start": { "line": 208, "column": 80 }, "end": { "line": 208, "column": 81 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5943, "end": 5944, "loc": { "start": { "line": 208, "column": 82 }, "end": { "line": 208, "column": 83 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_in_b", "start": 5949, "end": 5955, "loc": { "start": { "line": 209, "column": 4 }, "end": { "line": 209, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 5956, "end": 5957, "loc": { "start": { "line": 209, "column": 11 }, "end": { "line": 209, "column": 12 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 5958, "end": 5963, "loc": { "start": { "line": 209, "column": 13 }, "end": { "line": 209, "column": 18 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 5963, "end": 5964, "loc": { "start": { "line": 209, "column": 18 }, "end": { "line": 209, "column": 19 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5968, "end": 5969, "loc": { "start": { "line": 210, "column": 3 }, "end": { "line": 210, "column": 4 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 5974, "end": 5976, "loc": { "start": { "line": 212, "column": 3 }, "end": { "line": 212, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5976, "end": 5977, "loc": { "start": { "line": 212, "column": 5 }, "end": { "line": 212, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "region", "start": 5977, "end": 5983, "loc": { "start": { "line": 212, "column": 6 }, "end": { "line": 212, "column": 12 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5983, "end": 5984, "loc": { "start": { "line": 212, "column": 12 }, "end": { "line": 212, "column": 13 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 5985, "end": 5986, "loc": { "start": { "line": 212, "column": 14 }, "end": { "line": 212, "column": 15 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 5991, "end": 5996, "loc": { "start": { "line": 213, "column": 4 }, "end": { "line": 213, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 5997, "end": 6001, "loc": { "start": { "line": 213, "column": 10 }, "end": { "line": 213, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6006, "end": 6007, "loc": { "start": { "line": 213, "column": 19 }, "end": { "line": 213, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "region", "start": 6008, "end": 6014, "loc": { "start": { "line": 213, "column": 21 }, "end": { "line": 213, "column": 27 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 6015, "end": 6018, "loc": { "start": { "line": 213, "column": 28 }, "end": { "line": 213, "column": 31 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 6019, "end": 6020, "loc": { "start": { "line": 213, "column": 32 }, "end": { "line": 213, "column": 33 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 6020, "end": 6021, "loc": { "start": { "line": 213, "column": 33 }, "end": { "line": 213, "column": 34 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6021, "end": 6022, "loc": { "start": { "line": 213, "column": 34 }, "end": { "line": 213, "column": 35 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6027, "end": 6032, "loc": { "start": { "line": 214, "column": 4 }, "end": { "line": 214, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "other_x", "start": 6033, "end": 6040, "loc": { "start": { "line": 214, "column": 10 }, "end": { "line": 214, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6042, "end": 6043, "loc": { "start": { "line": 214, "column": 19 }, "end": { "line": 214, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 6044, "end": 6048, "loc": { "start": { "line": 214, "column": 21 }, "end": { "line": 214, "column": 25 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6049, "end": 6050, "loc": { "start": { "line": 214, "column": 26 }, "end": { "line": 214, "column": 27 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6051, "end": 6052, "loc": { "start": { "line": 214, "column": 28 }, "end": { "line": 214, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 6052, "end": 6054, "loc": { "start": { "line": 214, "column": 29 }, "end": { "line": 214, "column": 31 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 6055, "end": 6058, "loc": { "start": { "line": 214, "column": 32 }, "end": { "line": 214, "column": 35 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 6059, "end": 6060, "loc": { "start": { "line": 214, "column": 36 }, "end": { "line": 214, "column": 37 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6061, "end": 6062, "loc": { "start": { "line": 214, "column": 38 }, "end": { "line": 214, "column": 39 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 6063, "end": 6068, "loc": { "start": { "line": 214, "column": 40 }, "end": { "line": 214, "column": 45 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 6069, "end": 6070, "loc": { "start": { "line": 214, "column": 46 }, "end": { "line": 214, "column": 47 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 6071, "end": 6072, "loc": { "start": { "line": 214, "column": 48 }, "end": { "line": 214, "column": 49 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6073, "end": 6074, "loc": { "start": { "line": 214, "column": 50 }, "end": { "line": 214, "column": 51 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 6075, "end": 6077, "loc": { "start": { "line": 214, "column": 52 }, "end": { "line": 214, "column": 54 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 6078, "end": 6079, "loc": { "start": { "line": 214, "column": 55 }, "end": { "line": 214, "column": 56 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 6080, "end": 6081, "loc": { "start": { "line": 214, "column": 57 }, "end": { "line": 214, "column": 58 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6081, "end": 6082, "loc": { "start": { "line": 214, "column": 58 }, "end": { "line": 214, "column": 59 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6083, "end": 6084, "loc": { "start": { "line": 214, "column": 60 }, "end": { "line": 214, "column": 61 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6085, "end": 6086, "loc": { "start": { "line": 214, "column": 62 }, "end": { "line": 214, "column": 63 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 6086, "end": 6088, "loc": { "start": { "line": 214, "column": 63 }, "end": { "line": 214, "column": 65 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 6089, "end": 6092, "loc": { "start": { "line": 214, "column": 66 }, "end": { "line": 214, "column": 69 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "count", "start": 6093, "end": 6098, "loc": { "start": { "line": 214, "column": 70 }, "end": { "line": 214, "column": 75 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 6099, "end": 6100, "loc": { "start": { "line": 214, "column": 76 }, "end": { "line": 214, "column": 77 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 6101, "end": 6102, "loc": { "start": { "line": 214, "column": 78 }, "end": { "line": 214, "column": 79 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6103, "end": 6104, "loc": { "start": { "line": 214, "column": 80 }, "end": { "line": 214, "column": 81 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 6105, "end": 6106, "loc": { "start": { "line": 214, "column": 82 }, "end": { "line": 214, "column": 83 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6107, "end": 6108, "loc": { "start": { "line": 214, "column": 84 }, "end": { "line": 214, "column": 85 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 6109, "end": 6111, "loc": { "start": { "line": 214, "column": 86 }, "end": { "line": 214, "column": 88 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 6112, "end": 6113, "loc": { "start": { "line": 214, "column": 89 }, "end": { "line": 214, "column": 90 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 6114, "end": 6115, "loc": { "start": { "line": 214, "column": 91 }, "end": { "line": 214, "column": 92 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6115, "end": 6116, "loc": { "start": { "line": 214, "column": 92 }, "end": { "line": 214, "column": 93 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6116, "end": 6117, "loc": { "start": { "line": 214, "column": 93 }, "end": { "line": 214, "column": 94 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6122, "end": 6127, "loc": { "start": { "line": 215, "column": 4 }, "end": { "line": 215, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "other_y", "start": 6128, "end": 6135, "loc": { "start": { "line": 215, "column": 10 }, "end": { "line": 215, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6137, "end": 6138, "loc": { "start": { "line": 215, "column": 19 }, "end": { "line": 215, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "other_x", "start": 6139, "end": 6146, "loc": { "start": { "line": 215, "column": 21 }, "end": { "line": 215, "column": 28 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 6147, "end": 6148, "loc": { "start": { "line": 215, "column": 29 }, "end": { "line": 215, "column": 30 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 6149, "end": 6150, "loc": { "start": { "line": 215, "column": 31 }, "end": { "line": 215, "column": 32 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6150, "end": 6151, "loc": { "start": { "line": 215, "column": 32 }, "end": { "line": 215, "column": 33 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6156, "end": 6161, "loc": { "start": { "line": 216, "column": 4 }, "end": { "line": 216, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord2_x", "start": 6162, "end": 6170, "loc": { "start": { "line": 216, "column": 10 }, "end": { "line": 216, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6171, "end": 6172, "loc": { "start": { "line": 216, "column": 19 }, "end": { "line": 216, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_x", "start": 6173, "end": 6176, "loc": { "start": { "line": 216, "column": 21 }, "end": { "line": 216, "column": 24 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 6177, "end": 6178, "loc": { "start": { "line": 216, "column": 25 }, "end": { "line": 216, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 6179, "end": 6187, "loc": { "start": { "line": 216, "column": 27 }, "end": { "line": 216, "column": 35 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6187, "end": 6188, "loc": { "start": { "line": 216, "column": 35 }, "end": { "line": 216, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "other_x", "start": 6188, "end": 6195, "loc": { "start": { "line": 216, "column": 36 }, "end": { "line": 216, "column": 43 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6195, "end": 6196, "loc": { "start": { "line": 216, "column": 43 }, "end": { "line": 216, "column": 44 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6196, "end": 6197, "loc": { "start": { "line": 216, "column": 44 }, "end": { "line": 216, "column": 45 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6202, "end": 6207, "loc": { "start": { "line": 217, "column": 4 }, "end": { "line": 217, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord2_y", "start": 6208, "end": 6216, "loc": { "start": { "line": 217, "column": 10 }, "end": { "line": 217, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6217, "end": 6218, "loc": { "start": { "line": 217, "column": 19 }, "end": { "line": 217, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_y", "start": 6219, "end": 6222, "loc": { "start": { "line": 217, "column": 21 }, "end": { "line": 217, "column": 24 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 6223, "end": 6224, "loc": { "start": { "line": 217, "column": 25 }, "end": { "line": 217, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 6225, "end": 6233, "loc": { "start": { "line": 217, "column": 27 }, "end": { "line": 217, "column": 35 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6233, "end": 6234, "loc": { "start": { "line": 217, "column": 35 }, "end": { "line": 217, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "other_y", "start": 6234, "end": 6241, "loc": { "start": { "line": 217, "column": 36 }, "end": { "line": 217, "column": 43 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6241, "end": 6242, "loc": { "start": { "line": 217, "column": 43 }, "end": { "line": 217, "column": 44 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6242, "end": 6243, "loc": { "start": { "line": 217, "column": 44 }, "end": { "line": 217, "column": 45 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6248, "end": 6253, "loc": { "start": { "line": 218, "column": 4 }, "end": { "line": 218, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edge2_x", "start": 6254, "end": 6261, "loc": { "start": { "line": 218, "column": 10 }, "end": { "line": 218, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6263, "end": 6264, "loc": { "start": { "line": 218, "column": 19 }, "end": { "line": 218, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_edges", "start": 6265, "end": 6272, "loc": { "start": { "line": 218, "column": 21 }, "end": { "line": 218, "column": 28 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6272, "end": 6273, "loc": { "start": { "line": 218, "column": 28 }, "end": { "line": 218, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "other_x", "start": 6273, "end": 6280, "loc": { "start": { "line": 218, "column": 29 }, "end": { "line": 218, "column": 36 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6280, "end": 6281, "loc": { "start": { "line": 218, "column": 36 }, "end": { "line": 218, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6281, "end": 6282, "loc": { "start": { "line": 218, "column": 37 }, "end": { "line": 218, "column": 38 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6287, "end": 6292, "loc": { "start": { "line": 219, "column": 4 }, "end": { "line": 219, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edge2_y", "start": 6293, "end": 6300, "loc": { "start": { "line": 219, "column": 10 }, "end": { "line": 219, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6302, "end": 6303, "loc": { "start": { "line": 219, "column": 19 }, "end": { "line": 219, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_edges", "start": 6304, "end": 6311, "loc": { "start": { "line": 219, "column": 21 }, "end": { "line": 219, "column": 28 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6311, "end": 6312, "loc": { "start": { "line": 219, "column": 28 }, "end": { "line": 219, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "other_y", "start": 6312, "end": 6319, "loc": { "start": { "line": 219, "column": 29 }, "end": { "line": 219, "column": 36 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6319, "end": 6320, "loc": { "start": { "line": 219, "column": 36 }, "end": { "line": 219, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6320, "end": 6321, "loc": { "start": { "line": 219, "column": 37 }, "end": { "line": 219, "column": 38 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6326, "end": 6331, "loc": { "start": { "line": 220, "column": 4 }, "end": { "line": 220, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dot2", "start": 6332, "end": 6336, "loc": { "start": { "line": 220, "column": 10 }, "end": { "line": 220, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6341, "end": 6342, "loc": { "start": { "line": 220, "column": 19 }, "end": { "line": 220, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord2_x", "start": 6343, "end": 6351, "loc": { "start": { "line": 220, "column": 21 }, "end": { "line": 220, "column": 29 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 6352, "end": 6353, "loc": { "start": { "line": 220, "column": 30 }, "end": { "line": 220, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edge2_x", "start": 6354, "end": 6361, "loc": { "start": { "line": 220, "column": 32 }, "end": { "line": 220, "column": 39 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 6362, "end": 6363, "loc": { "start": { "line": 220, "column": 40 }, "end": { "line": 220, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord2_y", "start": 6364, "end": 6372, "loc": { "start": { "line": 220, "column": 42 }, "end": { "line": 220, "column": 50 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 6373, "end": 6374, "loc": { "start": { "line": 220, "column": 51 }, "end": { "line": 220, "column": 52 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edge2_y", "start": 6375, "end": 6382, "loc": { "start": { "line": 220, "column": 53 }, "end": { "line": 220, "column": 60 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6382, "end": 6383, "loc": { "start": { "line": 220, "column": 60 }, "end": { "line": 220, "column": 61 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6388, "end": 6393, "loc": { "start": { "line": 221, "column": 4 }, "end": { "line": 221, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "region2", "start": 6394, "end": 6401, "loc": { "start": { "line": 221, "column": 10 }, "end": { "line": 221, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6403, "end": 6404, "loc": { "start": { "line": 221, "column": 19 }, "end": { "line": 221, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dot2", "start": 6405, "end": 6409, "loc": { "start": { "line": 221, "column": 21 }, "end": { "line": 221, "column": 25 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 6410, "end": 6411, "loc": { "start": { "line": 221, "column": 26 }, "end": { "line": 221, "column": 27 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 6412, "end": 6413, "loc": { "start": { "line": 221, "column": 28 }, "end": { "line": 221, "column": 29 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6414, "end": 6415, "loc": { "start": { "line": 221, "column": 30 }, "end": { "line": 221, "column": 31 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 6416, "end": 6417, "loc": { "start": { "line": 221, "column": 32 }, "end": { "line": 221, "column": 33 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 6417, "end": 6418, "loc": { "start": { "line": 221, "column": 33 }, "end": { "line": 221, "column": 34 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6419, "end": 6420, "loc": { "start": { "line": 221, "column": 35 }, "end": { "line": 221, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dot2", "start": 6421, "end": 6425, "loc": { "start": { "line": 221, "column": 37 }, "end": { "line": 221, "column": 41 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 6426, "end": 6427, "loc": { "start": { "line": 221, "column": 42 }, "end": { "line": 221, "column": 43 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edge2_x", "start": 6428, "end": 6435, "loc": { "start": { "line": 221, "column": 44 }, "end": { "line": 221, "column": 51 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 6436, "end": 6437, "loc": { "start": { "line": 221, "column": 52 }, "end": { "line": 221, "column": 53 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edge2_x", "start": 6438, "end": 6445, "loc": { "start": { "line": 221, "column": 54 }, "end": { "line": 221, "column": 61 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 6446, "end": 6447, "loc": { "start": { "line": 221, "column": 62 }, "end": { "line": 221, "column": 63 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edge2_y", "start": 6448, "end": 6455, "loc": { "start": { "line": 221, "column": 64 }, "end": { "line": 221, "column": 71 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 6456, "end": 6457, "loc": { "start": { "line": 221, "column": 72 }, "end": { "line": 221, "column": 73 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "edge2_y", "start": 6458, "end": 6465, "loc": { "start": { "line": 221, "column": 74 }, "end": { "line": 221, "column": 81 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6466, "end": 6467, "loc": { "start": { "line": 221, "column": 82 }, "end": { "line": 221, "column": 83 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 6468, "end": 6469, "loc": { "start": { "line": 221, "column": 84 }, "end": { "line": 221, "column": 85 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6470, "end": 6471, "loc": { "start": { "line": 221, "column": 86 }, "end": { "line": 221, "column": 87 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 6472, "end": 6473, "loc": { "start": { "line": 221, "column": 88 }, "end": { "line": 221, "column": 89 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6473, "end": 6474, "loc": { "start": { "line": 221, "column": 89 }, "end": { "line": 221, "column": 90 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 6480, "end": 6482, "loc": { "start": { "line": 223, "column": 4 }, "end": { "line": 223, "column": 6 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6482, "end": 6483, "loc": { "start": { "line": 223, "column": 6 }, "end": { "line": 223, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "region2", "start": 6483, "end": 6490, "loc": { "start": { "line": 223, "column": 7 }, "end": { "line": 223, "column": 14 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 6491, "end": 6494, "loc": { "start": { "line": 223, "column": 15 }, "end": { "line": 223, "column": 18 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 6495, "end": 6496, "loc": { "start": { "line": 223, "column": 19 }, "end": { "line": 223, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "region", "start": 6496, "end": 6502, "loc": { "start": { "line": 223, "column": 20 }, "end": { "line": 223, "column": 26 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6502, "end": 6503, "loc": { "start": { "line": 223, "column": 26 }, "end": { "line": 223, "column": 27 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6504, "end": 6505, "loc": { "start": { "line": 223, "column": 28 }, "end": { "line": 223, "column": 29 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6511, "end": 6516, "loc": { "start": { "line": 224, "column": 5 }, "end": { "line": 224, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "target_x", "start": 6517, "end": 6525, "loc": { "start": { "line": 224, "column": 11 }, "end": { "line": 224, "column": 19 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6532, "end": 6533, "loc": { "start": { "line": 224, "column": 26 }, "end": { "line": 224, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 6534, "end": 6538, "loc": { "start": { "line": 224, "column": 28 }, "end": { "line": 224, "column": 32 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6539, "end": 6540, "loc": { "start": { "line": 224, "column": 33 }, "end": { "line": 224, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 6541, "end": 6548, "loc": { "start": { "line": 224, "column": 35 }, "end": { "line": 224, "column": 42 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6549, "end": 6550, "loc": { "start": { "line": 224, "column": 43 }, "end": { "line": 224, "column": 44 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord2_x", "start": 6551, "end": 6559, "loc": { "start": { "line": 224, "column": 45 }, "end": { "line": 224, "column": 53 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6559, "end": 6560, "loc": { "start": { "line": 224, "column": 53 }, "end": { "line": 224, "column": 54 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6566, "end": 6571, "loc": { "start": { "line": 225, "column": 5 }, "end": { "line": 225, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "target_y", "start": 6572, "end": 6580, "loc": { "start": { "line": 225, "column": 11 }, "end": { "line": 225, "column": 19 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6587, "end": 6588, "loc": { "start": { "line": 225, "column": 26 }, "end": { "line": 225, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 6589, "end": 6593, "loc": { "start": { "line": 225, "column": 28 }, "end": { "line": 225, "column": 32 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6594, "end": 6595, "loc": { "start": { "line": 225, "column": 33 }, "end": { "line": 225, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 6596, "end": 6603, "loc": { "start": { "line": 225, "column": 35 }, "end": { "line": 225, "column": 42 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6604, "end": 6605, "loc": { "start": { "line": 225, "column": 43 }, "end": { "line": 225, "column": 44 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord2_y", "start": 6606, "end": 6614, "loc": { "start": { "line": 225, "column": 45 }, "end": { "line": 225, "column": 53 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6614, "end": 6615, "loc": { "start": { "line": 225, "column": 53 }, "end": { "line": 225, "column": 54 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6621, "end": 6626, "loc": { "start": { "line": 226, "column": 5 }, "end": { "line": 226, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length_squared", "start": 6627, "end": 6641, "loc": { "start": { "line": 226, "column": 11 }, "end": { "line": 226, "column": 25 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6642, "end": 6643, "loc": { "start": { "line": 226, "column": 26 }, "end": { "line": 226, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "target_x", "start": 6644, "end": 6652, "loc": { "start": { "line": 226, "column": 28 }, "end": { "line": 226, "column": 36 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 6653, "end": 6654, "loc": { "start": { "line": 226, "column": 37 }, "end": { "line": 226, "column": 38 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "target_x", "start": 6655, "end": 6663, "loc": { "start": { "line": 226, "column": 39 }, "end": { "line": 226, "column": 47 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 6664, "end": 6665, "loc": { "start": { "line": 226, "column": 48 }, "end": { "line": 226, "column": 49 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "target_y", "start": 6666, "end": 6674, "loc": { "start": { "line": 226, "column": 50 }, "end": { "line": 226, "column": 58 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 6675, "end": 6676, "loc": { "start": { "line": 226, "column": 59 }, "end": { "line": 226, "column": 60 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "target_y", "start": 6677, "end": 6685, "loc": { "start": { "line": 226, "column": 61 }, "end": { "line": 226, "column": 69 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6685, "end": 6686, "loc": { "start": { "line": 226, "column": 69 }, "end": { "line": 226, "column": 70 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 6693, "end": 6695, "loc": { "start": { "line": 228, "column": 5 }, "end": { "line": 228, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6695, "end": 6696, "loc": { "start": { "line": 228, "column": 7 }, "end": { "line": 228, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length_squared", "start": 6696, "end": 6710, "loc": { "start": { "line": 228, "column": 8 }, "end": { "line": 228, "column": 22 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 6711, "end": 6712, "loc": { "start": { "line": 228, "column": 23 }, "end": { "line": 228, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius_squared", "start": 6713, "end": 6727, "loc": { "start": { "line": 228, "column": 25 }, "end": { "line": 228, "column": 39 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6727, "end": 6728, "loc": { "start": { "line": 228, "column": 39 }, "end": { "line": 228, "column": 40 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6729, "end": 6730, "loc": { "start": { "line": 228, "column": 41 }, "end": { "line": 228, "column": 42 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 6737, "end": 6743, "loc": { "start": { "line": 229, "column": 6 }, "end": { "line": 229, "column": 12 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 6744, "end": 6749, "loc": { "start": { "line": 229, "column": 13 }, "end": { "line": 229, "column": 18 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6749, "end": 6750, "loc": { "start": { "line": 229, "column": 18 }, "end": { "line": 229, "column": 19 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6756, "end": 6757, "loc": { "start": { "line": 230, "column": 5 }, "end": { "line": 230, "column": 6 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 6764, "end": 6766, "loc": { "start": { "line": 232, "column": 5 }, "end": { "line": 232, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6766, "end": 6767, "loc": { "start": { "line": 232, "column": 7 }, "end": { "line": 232, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 6767, "end": 6773, "loc": { "start": { "line": 232, "column": 8 }, "end": { "line": 232, "column": 14 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6773, "end": 6774, "loc": { "start": { "line": 232, "column": 14 }, "end": { "line": 232, "column": 15 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6775, "end": 6776, "loc": { "start": { "line": 232, "column": 16 }, "end": { "line": 232, "column": 17 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 6783, "end": 6788, "loc": { "start": { "line": 233, "column": 6 }, "end": { "line": 233, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 6789, "end": 6795, "loc": { "start": { "line": 233, "column": 12 }, "end": { "line": 233, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6796, "end": 6797, "loc": { "start": { "line": 233, "column": 19 }, "end": { "line": 233, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Math", "start": 6798, "end": 6802, "loc": { "start": { "line": 233, "column": 21 }, "end": { "line": 233, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6802, "end": 6803, "loc": { "start": { "line": 233, "column": 25 }, "end": { "line": 233, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sqrt", "start": 6803, "end": 6807, "loc": { "start": { "line": 233, "column": 26 }, "end": { "line": 233, "column": 30 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6807, "end": 6808, "loc": { "start": { "line": 233, "column": 30 }, "end": { "line": 233, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length_squared", "start": 6808, "end": 6822, "loc": { "start": { "line": 233, "column": 31 }, "end": { "line": 233, "column": 45 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 6822, "end": 6823, "loc": { "start": { "line": 233, "column": 45 }, "end": { "line": 233, "column": 46 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6823, "end": 6824, "loc": { "start": { "line": 233, "column": 46 }, "end": { "line": 233, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlapping", "start": 6832, "end": 6847, "loc": { "start": { "line": 235, "column": 6 }, "end": { "line": 235, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6848, "end": 6849, "loc": { "start": { "line": 235, "column": 22 }, "end": { "line": 235, "column": 23 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 6850, "end": 6854, "loc": { "start": { "line": 235, "column": 24 }, "end": { "line": 235, "column": 28 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6854, "end": 6855, "loc": { "start": { "line": 235, "column": 28 }, "end": { "line": 235, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlap", "start": 6862, "end": 6873, "loc": { "start": { "line": 236, "column": 6 }, "end": { "line": 236, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6878, "end": 6879, "loc": { "start": { "line": 236, "column": 22 }, "end": { "line": 236, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 6880, "end": 6888, "loc": { "start": { "line": 236, "column": 24 }, "end": { "line": 236, "column": 32 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 6889, "end": 6890, "loc": { "start": { "line": 236, "column": 33 }, "end": { "line": 236, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 6891, "end": 6897, "loc": { "start": { "line": 236, "column": 35 }, "end": { "line": 236, "column": 41 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6897, "end": 6898, "loc": { "start": { "line": 236, "column": 41 }, "end": { "line": 236, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlap_x", "start": 6905, "end": 6918, "loc": { "start": { "line": 237, "column": 6 }, "end": { "line": 237, "column": 19 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6921, "end": 6922, "loc": { "start": { "line": 237, "column": 22 }, "end": { "line": 237, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "target_x", "start": 6923, "end": 6931, "loc": { "start": { "line": 237, "column": 24 }, "end": { "line": 237, "column": 32 } } }, { "type": { "label": "/", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "/", "start": 6932, "end": 6933, "loc": { "start": { "line": 237, "column": 33 }, "end": { "line": 237, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 6934, "end": 6940, "loc": { "start": { "line": 237, "column": 35 }, "end": { "line": 237, "column": 41 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6940, "end": 6941, "loc": { "start": { "line": 237, "column": 41 }, "end": { "line": 237, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlap_y", "start": 6948, "end": 6961, "loc": { "start": { "line": 238, "column": 6 }, "end": { "line": 238, "column": 19 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 6964, "end": 6965, "loc": { "start": { "line": 238, "column": 22 }, "end": { "line": 238, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "target_y", "start": 6966, "end": 6974, "loc": { "start": { "line": 238, "column": 24 }, "end": { "line": 238, "column": 32 } } }, { "type": { "label": "/", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "/", "start": 6975, "end": 6976, "loc": { "start": { "line": 238, "column": 33 }, "end": { "line": 238, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 6977, "end": 6983, "loc": { "start": { "line": 238, "column": 35 }, "end": { "line": 238, "column": 41 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 6983, "end": 6984, "loc": { "start": { "line": 238, "column": 41 }, "end": { "line": 238, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_in_a", "start": 6991, "end": 6997, "loc": { "start": { "line": 239, "column": 6 }, "end": { "line": 239, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7007, "end": 7008, "loc": { "start": { "line": 239, "column": 22 }, "end": { "line": 239, "column": 23 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 7009, "end": 7014, "loc": { "start": { "line": 239, "column": 24 }, "end": { "line": 239, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7014, "end": 7015, "loc": { "start": { "line": 239, "column": 29 }, "end": { "line": 239, "column": 30 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7021, "end": 7022, "loc": { "start": { "line": 240, "column": 5 }, "end": { "line": 240, "column": 6 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7027, "end": 7028, "loc": { "start": { "line": 241, "column": 4 }, "end": { "line": 241, "column": 5 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7032, "end": 7033, "loc": { "start": { "line": 242, "column": 3 }, "end": { "line": 242, "column": 4 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 7037, "end": 7041, "loc": { "start": { "line": 243, "column": 3 }, "end": { "line": 243, "column": 7 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7042, "end": 7043, "loc": { "start": { "line": 243, "column": 8 }, "end": { "line": 243, "column": 9 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 7048, "end": 7053, "loc": { "start": { "line": 244, "column": 4 }, "end": { "line": 244, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "normal_x", "start": 7054, "end": 7062, "loc": { "start": { "line": 244, "column": 10 }, "end": { "line": 244, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7070, "end": 7071, "loc": { "start": { "line": 244, "column": 26 }, "end": { "line": 244, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_normals", "start": 7072, "end": 7081, "loc": { "start": { "line": 244, "column": 28 }, "end": { "line": 244, "column": 37 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7081, "end": 7082, "loc": { "start": { "line": 244, "column": 37 }, "end": { "line": 244, "column": 38 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 7082, "end": 7084, "loc": { "start": { "line": 244, "column": 38 }, "end": { "line": 244, "column": 40 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7084, "end": 7085, "loc": { "start": { "line": 244, "column": 40 }, "end": { "line": 244, "column": 41 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7085, "end": 7086, "loc": { "start": { "line": 244, "column": 41 }, "end": { "line": 244, "column": 42 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 7091, "end": 7096, "loc": { "start": { "line": 245, "column": 4 }, "end": { "line": 245, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "normal_y", "start": 7097, "end": 7105, "loc": { "start": { "line": 245, "column": 10 }, "end": { "line": 245, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7113, "end": 7114, "loc": { "start": { "line": 245, "column": 26 }, "end": { "line": 245, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_normals", "start": 7115, "end": 7124, "loc": { "start": { "line": 245, "column": 28 }, "end": { "line": 245, "column": 37 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7124, "end": 7125, "loc": { "start": { "line": 245, "column": 37 }, "end": { "line": 245, "column": 38 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 7125, "end": 7127, "loc": { "start": { "line": 245, "column": 38 }, "end": { "line": 245, "column": 40 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7127, "end": 7128, "loc": { "start": { "line": 245, "column": 40 }, "end": { "line": 245, "column": 41 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7128, "end": 7129, "loc": { "start": { "line": 245, "column": 41 }, "end": { "line": 245, "column": 42 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 7134, "end": 7139, "loc": { "start": { "line": 246, "column": 4 }, "end": { "line": 246, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 7140, "end": 7146, "loc": { "start": { "line": 246, "column": 10 }, "end": { "line": 246, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7156, "end": 7157, "loc": { "start": { "line": 246, "column": 26 }, "end": { "line": 246, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_x", "start": 7158, "end": 7165, "loc": { "start": { "line": 246, "column": 28 }, "end": { "line": 246, "column": 35 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 7166, "end": 7167, "loc": { "start": { "line": 246, "column": 36 }, "end": { "line": 246, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "normal_x", "start": 7168, "end": 7176, "loc": { "start": { "line": 246, "column": 38 }, "end": { "line": 246, "column": 46 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 7177, "end": 7178, "loc": { "start": { "line": 246, "column": 47 }, "end": { "line": 246, "column": 48 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "coord_y", "start": 7179, "end": 7186, "loc": { "start": { "line": 246, "column": 49 }, "end": { "line": 246, "column": 56 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 7187, "end": 7188, "loc": { "start": { "line": 246, "column": 57 }, "end": { "line": 246, "column": 58 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "normal_y", "start": 7189, "end": 7197, "loc": { "start": { "line": 246, "column": 59 }, "end": { "line": 246, "column": 67 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7197, "end": 7198, "loc": { "start": { "line": 246, "column": 67 }, "end": { "line": 246, "column": 68 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 7203, "end": 7208, "loc": { "start": { "line": 247, "column": 4 }, "end": { "line": 247, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "absolute_length", "start": 7209, "end": 7224, "loc": { "start": { "line": 247, "column": 10 }, "end": { "line": 247, "column": 25 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7225, "end": 7226, "loc": { "start": { "line": 247, "column": 26 }, "end": { "line": 247, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 7227, "end": 7233, "loc": { "start": { "line": 247, "column": 28 }, "end": { "line": 247, "column": 34 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 7234, "end": 7235, "loc": { "start": { "line": 247, "column": 35 }, "end": { "line": 247, "column": 36 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 7236, "end": 7237, "loc": { "start": { "line": 247, "column": 37 }, "end": { "line": 247, "column": 38 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7238, "end": 7239, "loc": { "start": { "line": 247, "column": 39 }, "end": { "line": 247, "column": 40 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 7240, "end": 7241, "loc": { "start": { "line": 247, "column": 41 }, "end": { "line": 247, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 7241, "end": 7247, "loc": { "start": { "line": 247, "column": 42 }, "end": { "line": 247, "column": 48 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7248, "end": 7249, "loc": { "start": { "line": 247, "column": 49 }, "end": { "line": 247, "column": 50 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 7250, "end": 7256, "loc": { "start": { "line": 247, "column": 51 }, "end": { "line": 247, "column": 57 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7256, "end": 7257, "loc": { "start": { "line": 247, "column": 57 }, "end": { "line": 247, "column": 58 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 7263, "end": 7265, "loc": { "start": { "line": 249, "column": 4 }, "end": { "line": 249, "column": 6 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7265, "end": 7266, "loc": { "start": { "line": 249, "column": 6 }, "end": { "line": 249, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 7266, "end": 7272, "loc": { "start": { "line": 249, "column": 7 }, "end": { "line": 249, "column": 13 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 7273, "end": 7274, "loc": { "start": { "line": 249, "column": 14 }, "end": { "line": 249, "column": 15 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 7275, "end": 7276, "loc": { "start": { "line": 249, "column": 16 }, "end": { "line": 249, "column": 17 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 7277, "end": 7279, "loc": { "start": { "line": 249, "column": 18 }, "end": { "line": 249, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "absolute_length", "start": 7280, "end": 7295, "loc": { "start": { "line": 249, "column": 21 }, "end": { "line": 249, "column": 36 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 7296, "end": 7297, "loc": { "start": { "line": 249, "column": 37 }, "end": { "line": 249, "column": 38 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 7298, "end": 7306, "loc": { "start": { "line": 249, "column": 39 }, "end": { "line": 249, "column": 47 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7306, "end": 7307, "loc": { "start": { "line": 249, "column": 47 }, "end": { "line": 249, "column": 48 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7308, "end": 7309, "loc": { "start": { "line": 249, "column": 49 }, "end": { "line": 249, "column": 50 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 7315, "end": 7321, "loc": { "start": { "line": 250, "column": 5 }, "end": { "line": 250, "column": 11 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 7322, "end": 7327, "loc": { "start": { "line": 250, "column": 12 }, "end": { "line": 250, "column": 17 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7327, "end": 7328, "loc": { "start": { "line": 250, "column": 17 }, "end": { "line": 250, "column": 18 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7333, "end": 7334, "loc": { "start": { "line": 251, "column": 4 }, "end": { "line": 251, "column": 5 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 7340, "end": 7342, "loc": { "start": { "line": 253, "column": 4 }, "end": { "line": 253, "column": 6 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7342, "end": 7343, "loc": { "start": { "line": 253, "column": 6 }, "end": { "line": 253, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 7343, "end": 7349, "loc": { "start": { "line": 253, "column": 7 }, "end": { "line": 253, "column": 13 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7349, "end": 7350, "loc": { "start": { "line": 253, "column": 13 }, "end": { "line": 253, "column": 14 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7351, "end": 7352, "loc": { "start": { "line": 253, "column": 15 }, "end": { "line": 253, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlapping", "start": 7358, "end": 7373, "loc": { "start": { "line": 254, "column": 5 }, "end": { "line": 254, "column": 20 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7374, "end": 7375, "loc": { "start": { "line": 254, "column": 21 }, "end": { "line": 254, "column": 22 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 7376, "end": 7380, "loc": { "start": { "line": 254, "column": 23 }, "end": { "line": 254, "column": 27 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7380, "end": 7381, "loc": { "start": { "line": 254, "column": 27 }, "end": { "line": 254, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlap", "start": 7387, "end": 7398, "loc": { "start": { "line": 255, "column": 5 }, "end": { "line": 255, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7403, "end": 7404, "loc": { "start": { "line": 255, "column": 21 }, "end": { "line": 255, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 7405, "end": 7413, "loc": { "start": { "line": 255, "column": 23 }, "end": { "line": 255, "column": 31 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 7414, "end": 7415, "loc": { "start": { "line": 255, "column": 32 }, "end": { "line": 255, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 7416, "end": 7422, "loc": { "start": { "line": 255, "column": 34 }, "end": { "line": 255, "column": 40 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7422, "end": 7423, "loc": { "start": { "line": 255, "column": 40 }, "end": { "line": 255, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlap_x", "start": 7429, "end": 7442, "loc": { "start": { "line": 256, "column": 5 }, "end": { "line": 256, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7445, "end": 7446, "loc": { "start": { "line": 256, "column": 21 }, "end": { "line": 256, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "normal_x", "start": 7447, "end": 7455, "loc": { "start": { "line": 256, "column": 23 }, "end": { "line": 256, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7455, "end": 7456, "loc": { "start": { "line": 256, "column": 31 }, "end": { "line": 256, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlap_y", "start": 7462, "end": 7475, "loc": { "start": { "line": 257, "column": 5 }, "end": { "line": 257, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7478, "end": 7479, "loc": { "start": { "line": 257, "column": 21 }, "end": { "line": 257, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "normal_y", "start": 7480, "end": 7488, "loc": { "start": { "line": 257, "column": 23 }, "end": { "line": 257, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7488, "end": 7489, "loc": { "start": { "line": 257, "column": 31 }, "end": { "line": 257, "column": 32 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 7496, "end": 7498, "loc": { "start": { "line": 259, "column": 5 }, "end": { "line": 259, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7498, "end": 7499, "loc": { "start": { "line": 259, "column": 7 }, "end": { "line": 259, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_in_a", "start": 7499, "end": 7505, "loc": { "start": { "line": 259, "column": 8 }, "end": { "line": 259, "column": 14 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 7506, "end": 7508, "loc": { "start": { "line": 259, "column": 15 }, "end": { "line": 259, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 7509, "end": 7515, "loc": { "start": { "line": 259, "column": 18 }, "end": { "line": 259, "column": 24 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">=", "start": 7516, "end": 7518, "loc": { "start": { "line": 259, "column": 25 }, "end": { "line": 259, "column": 27 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 7519, "end": 7520, "loc": { "start": { "line": 259, "column": 28 }, "end": { "line": 259, "column": 29 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 7521, "end": 7523, "loc": { "start": { "line": 259, "column": 30 }, "end": { "line": 259, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlap", "start": 7524, "end": 7535, "loc": { "start": { "line": 259, "column": 33 }, "end": { "line": 259, "column": 44 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 7536, "end": 7537, "loc": { "start": { "line": 259, "column": 45 }, "end": { "line": 259, "column": 46 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius2", "start": 7538, "end": 7547, "loc": { "start": { "line": 259, "column": 47 }, "end": { "line": 259, "column": 56 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7547, "end": 7548, "loc": { "start": { "line": 259, "column": 56 }, "end": { "line": 259, "column": 57 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7549, "end": 7550, "loc": { "start": { "line": 259, "column": 58 }, "end": { "line": 259, "column": 59 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_in_a", "start": 7557, "end": 7563, "loc": { "start": { "line": 260, "column": 6 }, "end": { "line": 260, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7564, "end": 7565, "loc": { "start": { "line": 260, "column": 13 }, "end": { "line": 260, "column": 14 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 7566, "end": 7571, "loc": { "start": { "line": 260, "column": 15 }, "end": { "line": 260, "column": 20 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7571, "end": 7572, "loc": { "start": { "line": 260, "column": 20 }, "end": { "line": 260, "column": 21 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7578, "end": 7579, "loc": { "start": { "line": 261, "column": 5 }, "end": { "line": 261, "column": 6 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7584, "end": 7585, "loc": { "start": { "line": 262, "column": 4 }, "end": { "line": 262, "column": 5 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7589, "end": 7590, "loc": { "start": { "line": 263, "column": 3 }, "end": { "line": 263, "column": 4 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 7595, "end": 7597, "loc": { "start": { "line": 265, "column": 3 }, "end": { "line": 265, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7597, "end": 7598, "loc": { "start": { "line": 265, "column": 5 }, "end": { "line": 265, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlapping", "start": 7598, "end": 7613, "loc": { "start": { "line": 265, "column": 6 }, "end": { "line": 265, "column": 21 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 7614, "end": 7616, "loc": { "start": { "line": 265, "column": 22 }, "end": { "line": 265, "column": 24 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7617, "end": 7618, "loc": { "start": { "line": 265, "column": 25 }, "end": { "line": 265, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 7618, "end": 7625, "loc": { "start": { "line": 265, "column": 26 }, "end": { "line": 265, "column": 33 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 7626, "end": 7629, "loc": { "start": { "line": 265, "column": 34 }, "end": { "line": 265, "column": 37 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 7630, "end": 7634, "loc": { "start": { "line": 265, "column": 38 }, "end": { "line": 265, "column": 42 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 7635, "end": 7637, "loc": { "start": { "line": 265, "column": 43 }, "end": { "line": 265, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 7638, "end": 7645, "loc": { "start": { "line": 265, "column": 46 }, "end": { "line": 265, "column": 53 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 7646, "end": 7647, "loc": { "start": { "line": 265, "column": 54 }, "end": { "line": 265, "column": 55 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlap", "start": 7648, "end": 7659, "loc": { "start": { "line": 265, "column": 56 }, "end": { "line": 265, "column": 67 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7659, "end": 7660, "loc": { "start": { "line": 265, "column": 67 }, "end": { "line": 265, "column": 68 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7660, "end": 7661, "loc": { "start": { "line": 265, "column": 68 }, "end": { "line": 265, "column": 69 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7662, "end": 7663, "loc": { "start": { "line": 265, "column": 70 }, "end": { "line": 265, "column": 71 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 7668, "end": 7675, "loc": { "start": { "line": 266, "column": 4 }, "end": { "line": 266, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7678, "end": 7679, "loc": { "start": { "line": 266, "column": 14 }, "end": { "line": 266, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlap", "start": 7680, "end": 7691, "loc": { "start": { "line": 266, "column": 16 }, "end": { "line": 266, "column": 27 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7691, "end": 7692, "loc": { "start": { "line": 266, "column": 27 }, "end": { "line": 266, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_x", "start": 7697, "end": 7706, "loc": { "start": { "line": 267, "column": 4 }, "end": { "line": 267, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7707, "end": 7708, "loc": { "start": { "line": 267, "column": 14 }, "end": { "line": 267, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlap_x", "start": 7709, "end": 7722, "loc": { "start": { "line": 267, "column": 16 }, "end": { "line": 267, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7722, "end": 7723, "loc": { "start": { "line": 267, "column": 29 }, "end": { "line": 267, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_y", "start": 7728, "end": 7737, "loc": { "start": { "line": 268, "column": 4 }, "end": { "line": 268, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7738, "end": 7739, "loc": { "start": { "line": 268, "column": 14 }, "end": { "line": 268, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "tmp_overlap_y", "start": 7740, "end": 7753, "loc": { "start": { "line": 268, "column": 16 }, "end": { "line": 268, "column": 29 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7753, "end": 7754, "loc": { "start": { "line": 268, "column": 29 }, "end": { "line": 268, "column": 30 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7758, "end": 7759, "loc": { "start": { "line": 269, "column": 3 }, "end": { "line": 269, "column": 4 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7762, "end": 7763, "loc": { "start": { "line": 270, "column": 2 }, "end": { "line": 270, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7765, "end": 7766, "loc": { "start": { "line": 271, "column": 1 }, "end": { "line": 271, "column": 2 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 7769, "end": 7771, "loc": { "start": { "line": 273, "column": 1 }, "end": { "line": 273, "column": 3 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7771, "end": 7772, "loc": { "start": { "line": 273, "column": 3 }, "end": { "line": 273, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 7772, "end": 7778, "loc": { "start": { "line": 273, "column": 4 }, "end": { "line": 273, "column": 10 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7778, "end": 7779, "loc": { "start": { "line": 273, "column": 10 }, "end": { "line": 273, "column": 11 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7780, "end": 7781, "loc": { "start": { "line": 273, "column": 12 }, "end": { "line": 273, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 7784, "end": 7790, "loc": { "start": { "line": 274, "column": 2 }, "end": { "line": 274, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7790, "end": 7791, "loc": { "start": { "line": 274, "column": 8 }, "end": { "line": 274, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_in_b", "start": 7791, "end": 7797, "loc": { "start": { "line": 274, "column": 9 }, "end": { "line": 274, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7801, "end": 7802, "loc": { "start": { "line": 274, "column": 19 }, "end": { "line": 274, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "reverse", "start": 7803, "end": 7810, "loc": { "start": { "line": 274, "column": 21 }, "end": { "line": 274, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7811, "end": 7812, "loc": { "start": { "line": 274, "column": 29 }, "end": { "line": 274, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_in_a", "start": 7813, "end": 7819, "loc": { "start": { "line": 274, "column": 31 }, "end": { "line": 274, "column": 37 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7820, "end": 7821, "loc": { "start": { "line": 274, "column": 38 }, "end": { "line": 274, "column": 39 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_in_b", "start": 7822, "end": 7828, "loc": { "start": { "line": 274, "column": 40 }, "end": { "line": 274, "column": 46 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7828, "end": 7829, "loc": { "start": { "line": 274, "column": 46 }, "end": { "line": 274, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 7832, "end": 7838, "loc": { "start": { "line": 275, "column": 2 }, "end": { "line": 275, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7838, "end": 7839, "loc": { "start": { "line": 275, "column": 8 }, "end": { "line": 275, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_in_a", "start": 7839, "end": 7845, "loc": { "start": { "line": 275, "column": 9 }, "end": { "line": 275, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7849, "end": 7850, "loc": { "start": { "line": 275, "column": 19 }, "end": { "line": 275, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "reverse", "start": 7851, "end": 7858, "loc": { "start": { "line": 275, "column": 21 }, "end": { "line": 275, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7859, "end": 7860, "loc": { "start": { "line": 275, "column": 29 }, "end": { "line": 275, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_in_b", "start": 7861, "end": 7867, "loc": { "start": { "line": 275, "column": 31 }, "end": { "line": 275, "column": 37 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7868, "end": 7869, "loc": { "start": { "line": 275, "column": 38 }, "end": { "line": 275, "column": 39 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_in_a", "start": 7870, "end": 7876, "loc": { "start": { "line": 275, "column": 40 }, "end": { "line": 275, "column": 46 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7876, "end": 7877, "loc": { "start": { "line": 275, "column": 46 }, "end": { "line": 275, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 7880, "end": 7886, "loc": { "start": { "line": 276, "column": 2 }, "end": { "line": 276, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7886, "end": 7887, "loc": { "start": { "line": 276, "column": 8 }, "end": { "line": 276, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 7887, "end": 7894, "loc": { "start": { "line": 276, "column": 9 }, "end": { "line": 276, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7897, "end": 7898, "loc": { "start": { "line": 276, "column": 19 }, "end": { "line": 276, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 7899, "end": 7906, "loc": { "start": { "line": 276, "column": 21 }, "end": { "line": 276, "column": 28 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7906, "end": 7907, "loc": { "start": { "line": 276, "column": 28 }, "end": { "line": 276, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 7910, "end": 7916, "loc": { "start": { "line": 277, "column": 2 }, "end": { "line": 277, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7916, "end": 7917, "loc": { "start": { "line": 277, "column": 8 }, "end": { "line": 277, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_x", "start": 7917, "end": 7926, "loc": { "start": { "line": 277, "column": 9 }, "end": { "line": 277, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7927, "end": 7928, "loc": { "start": { "line": 277, "column": 19 }, "end": { "line": 277, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "reverse", "start": 7929, "end": 7936, "loc": { "start": { "line": 277, "column": 21 }, "end": { "line": 277, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7937, "end": 7938, "loc": { "start": { "line": 277, "column": 29 }, "end": { "line": 277, "column": 30 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 7939, "end": 7940, "loc": { "start": { "line": 277, "column": 31 }, "end": { "line": 277, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_x", "start": 7940, "end": 7949, "loc": { "start": { "line": 277, "column": 32 }, "end": { "line": 277, "column": 41 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7950, "end": 7951, "loc": { "start": { "line": 277, "column": 42 }, "end": { "line": 277, "column": 43 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_x", "start": 7952, "end": 7961, "loc": { "start": { "line": 277, "column": 44 }, "end": { "line": 277, "column": 53 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7961, "end": 7962, "loc": { "start": { "line": 277, "column": 53 }, "end": { "line": 277, "column": 54 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 7965, "end": 7971, "loc": { "start": { "line": 278, "column": 2 }, "end": { "line": 278, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7971, "end": 7972, "loc": { "start": { "line": 278, "column": 8 }, "end": { "line": 278, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_y", "start": 7972, "end": 7981, "loc": { "start": { "line": 278, "column": 9 }, "end": { "line": 278, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 7982, "end": 7983, "loc": { "start": { "line": 278, "column": 19 }, "end": { "line": 278, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "reverse", "start": 7984, "end": 7991, "loc": { "start": { "line": 278, "column": 21 }, "end": { "line": 278, "column": 28 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 7992, "end": 7993, "loc": { "start": { "line": 278, "column": 29 }, "end": { "line": 278, "column": 30 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 7994, "end": 7995, "loc": { "start": { "line": 278, "column": 31 }, "end": { "line": 278, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_y", "start": 7995, "end": 8004, "loc": { "start": { "line": 278, "column": 32 }, "end": { "line": 278, "column": 41 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8005, "end": 8006, "loc": { "start": { "line": 278, "column": 42 }, "end": { "line": 278, "column": 43 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_y", "start": 8007, "end": 8016, "loc": { "start": { "line": 278, "column": 44 }, "end": { "line": 278, "column": 53 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8016, "end": 8017, "loc": { "start": { "line": 278, "column": 53 }, "end": { "line": 278, "column": 54 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8019, "end": 8020, "loc": { "start": { "line": 279, "column": 1 }, "end": { "line": 279, "column": 2 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 8023, "end": 8029, "loc": { "start": { "line": 281, "column": 1 }, "end": { "line": 281, "column": 7 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 8030, "end": 8034, "loc": { "start": { "line": 281, "column": 8 }, "end": { "line": 281, "column": 12 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8034, "end": 8035, "loc": { "start": { "line": 281, "column": 12 }, "end": { "line": 281, "column": 13 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8036, "end": 8037, "loc": { "start": { "line": 282, "column": 0 }, "end": { "line": 282, "column": 1 } } }, { "type": "CommentBlock", "value": "*\n * Determines if two circles are colliding\n * @param {Circle} a The source circle to test\n * @param {Circle} b The target circle to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n ", "start": 8039, "end": 8314, "loc": { "start": { "line": 284, "column": 0 }, "end": { "line": 290, "column": 3 } } }, { "type": { "label": "function", "keyword": "function", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "function", "start": 8315, "end": 8323, "loc": { "start": { "line": 291, "column": 0 }, "end": { "line": 291, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "circleCircle", "start": 8324, "end": 8336, "loc": { "start": { "line": 291, "column": 9 }, "end": { "line": 291, "column": 21 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8336, "end": 8337, "loc": { "start": { "line": 291, "column": 21 }, "end": { "line": 291, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 8337, "end": 8338, "loc": { "start": { "line": 291, "column": 22 }, "end": { "line": 291, "column": 23 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8338, "end": 8339, "loc": { "start": { "line": 291, "column": 23 }, "end": { "line": 291, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 8340, "end": 8341, "loc": { "start": { "line": 291, "column": 25 }, "end": { "line": 291, "column": 26 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8341, "end": 8342, "loc": { "start": { "line": 291, "column": 26 }, "end": { "line": 291, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 8343, "end": 8349, "loc": { "start": { "line": 291, "column": 28 }, "end": { "line": 291, "column": 34 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8350, "end": 8351, "loc": { "start": { "line": 291, "column": 35 }, "end": { "line": 291, "column": 36 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 8352, "end": 8356, "loc": { "start": { "line": 291, "column": 37 }, "end": { "line": 291, "column": 41 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8356, "end": 8357, "loc": { "start": { "line": 291, "column": 41 }, "end": { "line": 291, "column": 42 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8358, "end": 8359, "loc": { "start": { "line": 291, "column": 43 }, "end": { "line": 291, "column": 44 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 8361, "end": 8366, "loc": { "start": { "line": 292, "column": 1 }, "end": { "line": 292, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_radius", "start": 8367, "end": 8375, "loc": { "start": { "line": 292, "column": 7 }, "end": { "line": 292, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8382, "end": 8383, "loc": { "start": { "line": 292, "column": 22 }, "end": { "line": 292, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 8384, "end": 8385, "loc": { "start": { "line": 292, "column": 24 }, "end": { "line": 292, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8385, "end": 8386, "loc": { "start": { "line": 292, "column": 25 }, "end": { "line": 292, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 8386, "end": 8392, "loc": { "start": { "line": 292, "column": 26 }, "end": { "line": 292, "column": 32 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 8393, "end": 8394, "loc": { "start": { "line": 292, "column": 33 }, "end": { "line": 292, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 8395, "end": 8396, "loc": { "start": { "line": 292, "column": 35 }, "end": { "line": 292, "column": 36 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8396, "end": 8397, "loc": { "start": { "line": 292, "column": 36 }, "end": { "line": 292, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale", "start": 8397, "end": 8402, "loc": { "start": { "line": 292, "column": 37 }, "end": { "line": 292, "column": 42 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8402, "end": 8403, "loc": { "start": { "line": 292, "column": 42 }, "end": { "line": 292, "column": 43 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 8405, "end": 8410, "loc": { "start": { "line": 293, "column": 1 }, "end": { "line": 293, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 8411, "end": 8419, "loc": { "start": { "line": 293, "column": 7 }, "end": { "line": 293, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8426, "end": 8427, "loc": { "start": { "line": 293, "column": 22 }, "end": { "line": 293, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 8428, "end": 8429, "loc": { "start": { "line": 293, "column": 24 }, "end": { "line": 293, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8429, "end": 8430, "loc": { "start": { "line": 293, "column": 25 }, "end": { "line": 293, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius", "start": 8430, "end": 8436, "loc": { "start": { "line": 293, "column": 26 }, "end": { "line": 293, "column": 32 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 8437, "end": 8438, "loc": { "start": { "line": 293, "column": 33 }, "end": { "line": 293, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 8439, "end": 8440, "loc": { "start": { "line": 293, "column": 35 }, "end": { "line": 293, "column": 36 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8440, "end": 8441, "loc": { "start": { "line": 293, "column": 36 }, "end": { "line": 293, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "scale", "start": 8441, "end": 8446, "loc": { "start": { "line": 293, "column": 37 }, "end": { "line": 293, "column": 42 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8446, "end": 8447, "loc": { "start": { "line": 293, "column": 42 }, "end": { "line": 293, "column": 43 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 8449, "end": 8454, "loc": { "start": { "line": 294, "column": 1 }, "end": { "line": 294, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "difference_x", "start": 8455, "end": 8467, "loc": { "start": { "line": 294, "column": 7 }, "end": { "line": 294, "column": 19 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8470, "end": 8471, "loc": { "start": { "line": 294, "column": 22 }, "end": { "line": 294, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 8472, "end": 8473, "loc": { "start": { "line": 294, "column": 24 }, "end": { "line": 294, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8473, "end": 8474, "loc": { "start": { "line": 294, "column": 25 }, "end": { "line": 294, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 8474, "end": 8475, "loc": { "start": { "line": 294, "column": 26 }, "end": { "line": 294, "column": 27 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 8476, "end": 8477, "loc": { "start": { "line": 294, "column": 28 }, "end": { "line": 294, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 8478, "end": 8479, "loc": { "start": { "line": 294, "column": 30 }, "end": { "line": 294, "column": 31 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8479, "end": 8480, "loc": { "start": { "line": 294, "column": 31 }, "end": { "line": 294, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 8480, "end": 8481, "loc": { "start": { "line": 294, "column": 32 }, "end": { "line": 294, "column": 33 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8481, "end": 8482, "loc": { "start": { "line": 294, "column": 33 }, "end": { "line": 294, "column": 34 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 8484, "end": 8489, "loc": { "start": { "line": 295, "column": 1 }, "end": { "line": 295, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "difference_y", "start": 8490, "end": 8502, "loc": { "start": { "line": 295, "column": 7 }, "end": { "line": 295, "column": 19 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8505, "end": 8506, "loc": { "start": { "line": 295, "column": 22 }, "end": { "line": 295, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 8507, "end": 8508, "loc": { "start": { "line": 295, "column": 24 }, "end": { "line": 295, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8508, "end": 8509, "loc": { "start": { "line": 295, "column": 25 }, "end": { "line": 295, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 8509, "end": 8510, "loc": { "start": { "line": 295, "column": 26 }, "end": { "line": 295, "column": 27 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 8511, "end": 8512, "loc": { "start": { "line": 295, "column": 28 }, "end": { "line": 295, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 8513, "end": 8514, "loc": { "start": { "line": 295, "column": 30 }, "end": { "line": 295, "column": 31 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8514, "end": 8515, "loc": { "start": { "line": 295, "column": 31 }, "end": { "line": 295, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 8515, "end": 8516, "loc": { "start": { "line": 295, "column": 32 }, "end": { "line": 295, "column": 33 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8516, "end": 8517, "loc": { "start": { "line": 295, "column": 33 }, "end": { "line": 295, "column": 34 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 8519, "end": 8524, "loc": { "start": { "line": 296, "column": 1 }, "end": { "line": 296, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius_sum", "start": 8525, "end": 8535, "loc": { "start": { "line": 296, "column": 7 }, "end": { "line": 296, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8540, "end": 8541, "loc": { "start": { "line": 296, "column": 22 }, "end": { "line": 296, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_radius", "start": 8542, "end": 8550, "loc": { "start": { "line": 296, "column": 24 }, "end": { "line": 296, "column": 32 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 8551, "end": 8552, "loc": { "start": { "line": 296, "column": 33 }, "end": { "line": 296, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 8553, "end": 8561, "loc": { "start": { "line": 296, "column": 35 }, "end": { "line": 296, "column": 43 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8561, "end": 8562, "loc": { "start": { "line": 296, "column": 43 }, "end": { "line": 296, "column": 44 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 8564, "end": 8569, "loc": { "start": { "line": 297, "column": 1 }, "end": { "line": 297, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length_squared", "start": 8570, "end": 8584, "loc": { "start": { "line": 297, "column": 7 }, "end": { "line": 297, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8585, "end": 8586, "loc": { "start": { "line": 297, "column": 22 }, "end": { "line": 297, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "difference_x", "start": 8587, "end": 8599, "loc": { "start": { "line": 297, "column": 24 }, "end": { "line": 297, "column": 36 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 8600, "end": 8601, "loc": { "start": { "line": 297, "column": 37 }, "end": { "line": 297, "column": 38 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "difference_x", "start": 8602, "end": 8614, "loc": { "start": { "line": 297, "column": 39 }, "end": { "line": 297, "column": 51 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 8615, "end": 8616, "loc": { "start": { "line": 297, "column": 52 }, "end": { "line": 297, "column": 53 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "difference_y", "start": 8617, "end": 8629, "loc": { "start": { "line": 297, "column": 54 }, "end": { "line": 297, "column": 66 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 8630, "end": 8631, "loc": { "start": { "line": 297, "column": 67 }, "end": { "line": 297, "column": 68 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "difference_y", "start": 8632, "end": 8644, "loc": { "start": { "line": 297, "column": 69 }, "end": { "line": 297, "column": 81 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8644, "end": 8645, "loc": { "start": { "line": 297, "column": 81 }, "end": { "line": 297, "column": 82 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 8648, "end": 8650, "loc": { "start": { "line": 299, "column": 1 }, "end": { "line": 299, "column": 3 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8650, "end": 8651, "loc": { "start": { "line": 299, "column": 3 }, "end": { "line": 299, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length_squared", "start": 8651, "end": 8665, "loc": { "start": { "line": 299, "column": 4 }, "end": { "line": 299, "column": 18 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 8666, "end": 8667, "loc": { "start": { "line": 299, "column": 19 }, "end": { "line": 299, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius_sum", "start": 8668, "end": 8678, "loc": { "start": { "line": 299, "column": 21 }, "end": { "line": 299, "column": 31 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 8679, "end": 8680, "loc": { "start": { "line": 299, "column": 32 }, "end": { "line": 299, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius_sum", "start": 8681, "end": 8691, "loc": { "start": { "line": 299, "column": 34 }, "end": { "line": 299, "column": 44 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8691, "end": 8692, "loc": { "start": { "line": 299, "column": 44 }, "end": { "line": 299, "column": 45 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8693, "end": 8694, "loc": { "start": { "line": 299, "column": 46 }, "end": { "line": 299, "column": 47 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 8697, "end": 8703, "loc": { "start": { "line": 300, "column": 2 }, "end": { "line": 300, "column": 8 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 8704, "end": 8709, "loc": { "start": { "line": 300, "column": 9 }, "end": { "line": 300, "column": 14 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8709, "end": 8710, "loc": { "start": { "line": 300, "column": 14 }, "end": { "line": 300, "column": 15 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8712, "end": 8713, "loc": { "start": { "line": 301, "column": 1 }, "end": { "line": 301, "column": 2 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 8716, "end": 8718, "loc": { "start": { "line": 303, "column": 1 }, "end": { "line": 303, "column": 3 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8718, "end": 8719, "loc": { "start": { "line": 303, "column": 3 }, "end": { "line": 303, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 8719, "end": 8725, "loc": { "start": { "line": 303, "column": 4 }, "end": { "line": 303, "column": 10 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8725, "end": 8726, "loc": { "start": { "line": 303, "column": 10 }, "end": { "line": 303, "column": 11 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8727, "end": 8728, "loc": { "start": { "line": 303, "column": 12 }, "end": { "line": 303, "column": 13 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 8731, "end": 8736, "loc": { "start": { "line": 304, "column": 2 }, "end": { "line": 304, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 8737, "end": 8743, "loc": { "start": { "line": 304, "column": 8 }, "end": { "line": 304, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8744, "end": 8745, "loc": { "start": { "line": 304, "column": 15 }, "end": { "line": 304, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Math", "start": 8746, "end": 8750, "loc": { "start": { "line": 304, "column": 17 }, "end": { "line": 304, "column": 21 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8750, "end": 8751, "loc": { "start": { "line": 304, "column": 21 }, "end": { "line": 304, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sqrt", "start": 8751, "end": 8755, "loc": { "start": { "line": 304, "column": 22 }, "end": { "line": 304, "column": 26 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8755, "end": 8756, "loc": { "start": { "line": 304, "column": 26 }, "end": { "line": 304, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length_squared", "start": 8756, "end": 8770, "loc": { "start": { "line": 304, "column": 27 }, "end": { "line": 304, "column": 41 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 8770, "end": 8771, "loc": { "start": { "line": 304, "column": 41 }, "end": { "line": 304, "column": 42 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8771, "end": 8772, "loc": { "start": { "line": 304, "column": 42 }, "end": { "line": 304, "column": 43 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 8776, "end": 8782, "loc": { "start": { "line": 306, "column": 2 }, "end": { "line": 306, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8782, "end": 8783, "loc": { "start": { "line": 306, "column": 8 }, "end": { "line": 306, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_in_b", "start": 8783, "end": 8789, "loc": { "start": { "line": 306, "column": 9 }, "end": { "line": 306, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8793, "end": 8794, "loc": { "start": { "line": 306, "column": 19 }, "end": { "line": 306, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_radius", "start": 8795, "end": 8803, "loc": { "start": { "line": 306, "column": 21 }, "end": { "line": 306, "column": 29 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<=", "start": 8804, "end": 8806, "loc": { "start": { "line": 306, "column": 30 }, "end": { "line": 306, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 8807, "end": 8815, "loc": { "start": { "line": 306, "column": 33 }, "end": { "line": 306, "column": 41 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 8816, "end": 8818, "loc": { "start": { "line": 306, "column": 42 }, "end": { "line": 306, "column": 44 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 8819, "end": 8825, "loc": { "start": { "line": 306, "column": 45 }, "end": { "line": 306, "column": 51 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<=", "start": 8826, "end": 8828, "loc": { "start": { "line": 306, "column": 52 }, "end": { "line": 306, "column": 54 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 8829, "end": 8837, "loc": { "start": { "line": 306, "column": 55 }, "end": { "line": 306, "column": 63 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 8838, "end": 8839, "loc": { "start": { "line": 306, "column": 64 }, "end": { "line": 306, "column": 65 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_radius", "start": 8840, "end": 8848, "loc": { "start": { "line": 306, "column": 66 }, "end": { "line": 306, "column": 74 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8848, "end": 8849, "loc": { "start": { "line": 306, "column": 74 }, "end": { "line": 306, "column": 75 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 8852, "end": 8858, "loc": { "start": { "line": 307, "column": 2 }, "end": { "line": 307, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8858, "end": 8859, "loc": { "start": { "line": 307, "column": 8 }, "end": { "line": 307, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_in_a", "start": 8859, "end": 8865, "loc": { "start": { "line": 307, "column": 9 }, "end": { "line": 307, "column": 15 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8869, "end": 8870, "loc": { "start": { "line": 307, "column": 19 }, "end": { "line": 307, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 8871, "end": 8879, "loc": { "start": { "line": 307, "column": 21 }, "end": { "line": 307, "column": 29 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<=", "start": 8880, "end": 8882, "loc": { "start": { "line": 307, "column": 30 }, "end": { "line": 307, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_radius", "start": 8883, "end": 8891, "loc": { "start": { "line": 307, "column": 33 }, "end": { "line": 307, "column": 41 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 8892, "end": 8894, "loc": { "start": { "line": 307, "column": 42 }, "end": { "line": 307, "column": 44 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 8895, "end": 8901, "loc": { "start": { "line": 307, "column": 45 }, "end": { "line": 307, "column": 51 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<=", "start": 8902, "end": 8904, "loc": { "start": { "line": 307, "column": 52 }, "end": { "line": 307, "column": 54 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_radius", "start": 8905, "end": 8913, "loc": { "start": { "line": 307, "column": 55 }, "end": { "line": 307, "column": 63 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 8914, "end": 8915, "loc": { "start": { "line": 307, "column": 64 }, "end": { "line": 307, "column": 65 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_radius", "start": 8916, "end": 8924, "loc": { "start": { "line": 307, "column": 66 }, "end": { "line": 307, "column": 74 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8924, "end": 8925, "loc": { "start": { "line": 307, "column": 74 }, "end": { "line": 307, "column": 75 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 8928, "end": 8934, "loc": { "start": { "line": 308, "column": 2 }, "end": { "line": 308, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8934, "end": 8935, "loc": { "start": { "line": 308, "column": 8 }, "end": { "line": 308, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 8935, "end": 8942, "loc": { "start": { "line": 308, "column": 9 }, "end": { "line": 308, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8945, "end": 8946, "loc": { "start": { "line": 308, "column": 19 }, "end": { "line": 308, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "radius_sum", "start": 8947, "end": 8957, "loc": { "start": { "line": 308, "column": 21 }, "end": { "line": 308, "column": 31 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 8958, "end": 8959, "loc": { "start": { "line": 308, "column": 32 }, "end": { "line": 308, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 8960, "end": 8966, "loc": { "start": { "line": 308, "column": 34 }, "end": { "line": 308, "column": 40 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8966, "end": 8967, "loc": { "start": { "line": 308, "column": 40 }, "end": { "line": 308, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 8970, "end": 8976, "loc": { "start": { "line": 309, "column": 2 }, "end": { "line": 309, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 8976, "end": 8977, "loc": { "start": { "line": 309, "column": 8 }, "end": { "line": 309, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_x", "start": 8977, "end": 8986, "loc": { "start": { "line": 309, "column": 9 }, "end": { "line": 309, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 8987, "end": 8988, "loc": { "start": { "line": 309, "column": 19 }, "end": { "line": 309, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "difference_x", "start": 8989, "end": 9001, "loc": { "start": { "line": 309, "column": 21 }, "end": { "line": 309, "column": 33 } } }, { "type": { "label": "/", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "/", "start": 9002, "end": 9003, "loc": { "start": { "line": 309, "column": 34 }, "end": { "line": 309, "column": 35 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 9004, "end": 9010, "loc": { "start": { "line": 309, "column": 36 }, "end": { "line": 309, "column": 42 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9010, "end": 9011, "loc": { "start": { "line": 309, "column": 42 }, "end": { "line": 309, "column": 43 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 9014, "end": 9020, "loc": { "start": { "line": 310, "column": 2 }, "end": { "line": 310, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9020, "end": 9021, "loc": { "start": { "line": 310, "column": 8 }, "end": { "line": 310, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_y", "start": 9021, "end": 9030, "loc": { "start": { "line": 310, "column": 9 }, "end": { "line": 310, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9031, "end": 9032, "loc": { "start": { "line": 310, "column": 19 }, "end": { "line": 310, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "difference_y", "start": 9033, "end": 9045, "loc": { "start": { "line": 310, "column": 21 }, "end": { "line": 310, "column": 33 } } }, { "type": { "label": "/", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "/", "start": 9046, "end": 9047, "loc": { "start": { "line": 310, "column": 34 }, "end": { "line": 310, "column": 35 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 9048, "end": 9054, "loc": { "start": { "line": 310, "column": 36 }, "end": { "line": 310, "column": 42 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9054, "end": 9055, "loc": { "start": { "line": 310, "column": 42 }, "end": { "line": 310, "column": 43 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9057, "end": 9058, "loc": { "start": { "line": 311, "column": 1 }, "end": { "line": 311, "column": 2 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 9061, "end": 9067, "loc": { "start": { "line": 313, "column": 1 }, "end": { "line": 313, "column": 7 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 9068, "end": 9072, "loc": { "start": { "line": 313, "column": 8 }, "end": { "line": 313, "column": 12 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9072, "end": 9073, "loc": { "start": { "line": 313, "column": 12 }, "end": { "line": 313, "column": 13 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9074, "end": 9075, "loc": { "start": { "line": 314, "column": 0 }, "end": { "line": 314, "column": 1 } } }, { "type": "CommentBlock", "value": "*\n * Determines if two polygons are separated by an axis\n * @param {Array} a_coords The coordinates of the polygon to test\n * @param {Array} b_coords The coordinates of the polygon to test against\n * @param {Number} x The X direction of the axis\n * @param {Number} y The Y direction of the axis\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n ", "start": 9077, "end": 9520, "loc": { "start": { "line": 316, "column": 0 }, "end": { "line": 324, "column": 3 } } }, { "type": { "label": "function", "keyword": "function", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "function", "start": 9521, "end": 9529, "loc": { "start": { "line": 325, "column": 0 }, "end": { "line": 325, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "separatingAxis", "start": 9530, "end": 9544, "loc": { "start": { "line": 325, "column": 9 }, "end": { "line": 325, "column": 23 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9544, "end": 9545, "loc": { "start": { "line": 325, "column": 23 }, "end": { "line": 325, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 9545, "end": 9553, "loc": { "start": { "line": 325, "column": 24 }, "end": { "line": 325, "column": 32 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9553, "end": 9554, "loc": { "start": { "line": 325, "column": 32 }, "end": { "line": 325, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_coords", "start": 9555, "end": 9563, "loc": { "start": { "line": 325, "column": 34 }, "end": { "line": 325, "column": 42 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9563, "end": 9564, "loc": { "start": { "line": 325, "column": 42 }, "end": { "line": 325, "column": 43 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 9565, "end": 9566, "loc": { "start": { "line": 325, "column": 44 }, "end": { "line": 325, "column": 45 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9566, "end": 9567, "loc": { "start": { "line": 325, "column": 45 }, "end": { "line": 325, "column": 46 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 9568, "end": 9569, "loc": { "start": { "line": 325, "column": 47 }, "end": { "line": 325, "column": 48 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9569, "end": 9570, "loc": { "start": { "line": 325, "column": 48 }, "end": { "line": 325, "column": 49 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 9571, "end": 9577, "loc": { "start": { "line": 325, "column": 50 }, "end": { "line": 325, "column": 56 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9578, "end": 9579, "loc": { "start": { "line": 325, "column": 57 }, "end": { "line": 325, "column": 58 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 9580, "end": 9584, "loc": { "start": { "line": 325, "column": 59 }, "end": { "line": 325, "column": 63 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9584, "end": 9585, "loc": { "start": { "line": 325, "column": 63 }, "end": { "line": 325, "column": 64 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9586, "end": 9587, "loc": { "start": { "line": 325, "column": 65 }, "end": { "line": 325, "column": 66 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 9589, "end": 9594, "loc": { "start": { "line": 326, "column": 1 }, "end": { "line": 326, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_count", "start": 9595, "end": 9602, "loc": { "start": { "line": 326, "column": 7 }, "end": { "line": 326, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9603, "end": 9604, "loc": { "start": { "line": 326, "column": 15 }, "end": { "line": 326, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 9605, "end": 9613, "loc": { "start": { "line": 326, "column": 17 }, "end": { "line": 326, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9613, "end": 9614, "loc": { "start": { "line": 326, "column": 25 }, "end": { "line": 326, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 9614, "end": 9620, "loc": { "start": { "line": 326, "column": 26 }, "end": { "line": 326, "column": 32 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9620, "end": 9621, "loc": { "start": { "line": 326, "column": 32 }, "end": { "line": 326, "column": 33 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 9623, "end": 9628, "loc": { "start": { "line": 327, "column": 1 }, "end": { "line": 327, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_count", "start": 9629, "end": 9636, "loc": { "start": { "line": 327, "column": 7 }, "end": { "line": 327, "column": 14 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9637, "end": 9638, "loc": { "start": { "line": 327, "column": 15 }, "end": { "line": 327, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_coords", "start": 9639, "end": 9647, "loc": { "start": { "line": 327, "column": 17 }, "end": { "line": 327, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9647, "end": 9648, "loc": { "start": { "line": 327, "column": 25 }, "end": { "line": 327, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 9648, "end": 9654, "loc": { "start": { "line": 327, "column": 26 }, "end": { "line": 327, "column": 32 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9654, "end": 9655, "loc": { "start": { "line": 327, "column": 32 }, "end": { "line": 327, "column": 33 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 9658, "end": 9660, "loc": { "start": { "line": 329, "column": 1 }, "end": { "line": 329, "column": 3 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9660, "end": 9661, "loc": { "start": { "line": 329, "column": 3 }, "end": { "line": 329, "column": 4 } } }, { "type": { "label": "prefix", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": null, "updateContext": null }, "value": "!", "start": 9661, "end": 9662, "loc": { "start": { "line": 329, "column": 4 }, "end": { "line": 329, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_count", "start": 9662, "end": 9669, "loc": { "start": { "line": 329, "column": 5 }, "end": { "line": 329, "column": 12 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 9670, "end": 9672, "loc": { "start": { "line": 329, "column": 13 }, "end": { "line": 329, "column": 15 } } }, { "type": { "label": "prefix", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": null, "updateContext": null }, "value": "!", "start": 9673, "end": 9674, "loc": { "start": { "line": 329, "column": 16 }, "end": { "line": 329, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_count", "start": 9674, "end": 9681, "loc": { "start": { "line": 329, "column": 17 }, "end": { "line": 329, "column": 24 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9681, "end": 9682, "loc": { "start": { "line": 329, "column": 24 }, "end": { "line": 329, "column": 25 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9683, "end": 9684, "loc": { "start": { "line": 329, "column": 26 }, "end": { "line": 329, "column": 27 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 9687, "end": 9693, "loc": { "start": { "line": 330, "column": 2 }, "end": { "line": 330, "column": 8 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 9694, "end": 9698, "loc": { "start": { "line": 330, "column": 9 }, "end": { "line": 330, "column": 13 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9698, "end": 9699, "loc": { "start": { "line": 330, "column": 13 }, "end": { "line": 330, "column": 14 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9701, "end": 9702, "loc": { "start": { "line": 331, "column": 1 }, "end": { "line": 331, "column": 2 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 9705, "end": 9708, "loc": { "start": { "line": 333, "column": 1 }, "end": { "line": 333, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_start", "start": 9709, "end": 9716, "loc": { "start": { "line": 333, "column": 5 }, "end": { "line": 333, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9717, "end": 9718, "loc": { "start": { "line": 333, "column": 13 }, "end": { "line": 333, "column": 14 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 9719, "end": 9723, "loc": { "start": { "line": 333, "column": 15 }, "end": { "line": 333, "column": 19 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9723, "end": 9724, "loc": { "start": { "line": 333, "column": 19 }, "end": { "line": 333, "column": 20 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 9726, "end": 9729, "loc": { "start": { "line": 334, "column": 1 }, "end": { "line": 334, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_end", "start": 9730, "end": 9735, "loc": { "start": { "line": 334, "column": 5 }, "end": { "line": 334, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9738, "end": 9739, "loc": { "start": { "line": 334, "column": 13 }, "end": { "line": 334, "column": 14 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 9740, "end": 9744, "loc": { "start": { "line": 334, "column": 15 }, "end": { "line": 334, "column": 19 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9744, "end": 9745, "loc": { "start": { "line": 334, "column": 19 }, "end": { "line": 334, "column": 20 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 9747, "end": 9750, "loc": { "start": { "line": 335, "column": 1 }, "end": { "line": 335, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_start", "start": 9751, "end": 9758, "loc": { "start": { "line": 335, "column": 5 }, "end": { "line": 335, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9759, "end": 9760, "loc": { "start": { "line": 335, "column": 13 }, "end": { "line": 335, "column": 14 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 9761, "end": 9765, "loc": { "start": { "line": 335, "column": 15 }, "end": { "line": 335, "column": 19 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9765, "end": 9766, "loc": { "start": { "line": 335, "column": 19 }, "end": { "line": 335, "column": 20 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 9768, "end": 9771, "loc": { "start": { "line": 336, "column": 1 }, "end": { "line": 336, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_end", "start": 9772, "end": 9777, "loc": { "start": { "line": 336, "column": 5 }, "end": { "line": 336, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9780, "end": 9781, "loc": { "start": { "line": 336, "column": 13 }, "end": { "line": 336, "column": 14 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 9782, "end": 9786, "loc": { "start": { "line": 336, "column": 15 }, "end": { "line": 336, "column": 19 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9786, "end": 9787, "loc": { "start": { "line": 336, "column": 19 }, "end": { "line": 336, "column": 20 } } }, { "type": { "label": "for", "keyword": "for", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "for", "start": 9790, "end": 9793, "loc": { "start": { "line": 338, "column": 1 }, "end": { "line": 338, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9793, "end": 9794, "loc": { "start": { "line": 338, "column": 4 }, "end": { "line": 338, "column": 5 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 9794, "end": 9797, "loc": { "start": { "line": 338, "column": 5 }, "end": { "line": 338, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 9798, "end": 9800, "loc": { "start": { "line": 338, "column": 9 }, "end": { "line": 338, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9801, "end": 9802, "loc": { "start": { "line": 338, "column": 12 }, "end": { "line": 338, "column": 13 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 9803, "end": 9804, "loc": { "start": { "line": 338, "column": 14 }, "end": { "line": 338, "column": 15 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9804, "end": 9805, "loc": { "start": { "line": 338, "column": 15 }, "end": { "line": 338, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 9806, "end": 9808, "loc": { "start": { "line": 338, "column": 17 }, "end": { "line": 338, "column": 19 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9809, "end": 9810, "loc": { "start": { "line": 338, "column": 20 }, "end": { "line": 338, "column": 21 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 9811, "end": 9812, "loc": { "start": { "line": 338, "column": 22 }, "end": { "line": 338, "column": 23 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9812, "end": 9813, "loc": { "start": { "line": 338, "column": 23 }, "end": { "line": 338, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 9814, "end": 9816, "loc": { "start": { "line": 338, "column": 25 }, "end": { "line": 338, "column": 27 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 9817, "end": 9818, "loc": { "start": { "line": 338, "column": 28 }, "end": { "line": 338, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_count", "start": 9819, "end": 9826, "loc": { "start": { "line": 338, "column": 30 }, "end": { "line": 338, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9826, "end": 9827, "loc": { "start": { "line": 338, "column": 37 }, "end": { "line": 338, "column": 38 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 9828, "end": 9830, "loc": { "start": { "line": 338, "column": 39 }, "end": { "line": 338, "column": 41 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 9831, "end": 9833, "loc": { "start": { "line": 338, "column": 42 }, "end": { "line": 338, "column": 44 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 9834, "end": 9835, "loc": { "start": { "line": 338, "column": 45 }, "end": { "line": 338, "column": 46 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9835, "end": 9836, "loc": { "start": { "line": 338, "column": 46 }, "end": { "line": 338, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 9837, "end": 9839, "loc": { "start": { "line": 338, "column": 48 }, "end": { "line": 338, "column": 50 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 9840, "end": 9842, "loc": { "start": { "line": 338, "column": 51 }, "end": { "line": 338, "column": 53 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 9843, "end": 9844, "loc": { "start": { "line": 338, "column": 54 }, "end": { "line": 338, "column": 55 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9844, "end": 9845, "loc": { "start": { "line": 338, "column": 55 }, "end": { "line": 338, "column": 56 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9846, "end": 9847, "loc": { "start": { "line": 338, "column": 57 }, "end": { "line": 338, "column": 58 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 9850, "end": 9855, "loc": { "start": { "line": 339, "column": 2 }, "end": { "line": 339, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dot", "start": 9856, "end": 9859, "loc": { "start": { "line": 339, "column": 8 }, "end": { "line": 339, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9860, "end": 9861, "loc": { "start": { "line": 339, "column": 12 }, "end": { "line": 339, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 9862, "end": 9870, "loc": { "start": { "line": 339, "column": 14 }, "end": { "line": 339, "column": 22 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9870, "end": 9871, "loc": { "start": { "line": 339, "column": 22 }, "end": { "line": 339, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 9871, "end": 9873, "loc": { "start": { "line": 339, "column": 23 }, "end": { "line": 339, "column": 25 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9873, "end": 9874, "loc": { "start": { "line": 339, "column": 25 }, "end": { "line": 339, "column": 26 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 9875, "end": 9876, "loc": { "start": { "line": 339, "column": 27 }, "end": { "line": 339, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 9877, "end": 9878, "loc": { "start": { "line": 339, "column": 29 }, "end": { "line": 339, "column": 30 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 9879, "end": 9880, "loc": { "start": { "line": 339, "column": 31 }, "end": { "line": 339, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_coords", "start": 9881, "end": 9889, "loc": { "start": { "line": 339, "column": 33 }, "end": { "line": 339, "column": 41 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9889, "end": 9890, "loc": { "start": { "line": 339, "column": 41 }, "end": { "line": 339, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 9890, "end": 9892, "loc": { "start": { "line": 339, "column": 42 }, "end": { "line": 339, "column": 44 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9892, "end": 9893, "loc": { "start": { "line": 339, "column": 44 }, "end": { "line": 339, "column": 45 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 9894, "end": 9895, "loc": { "start": { "line": 339, "column": 46 }, "end": { "line": 339, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 9896, "end": 9897, "loc": { "start": { "line": 339, "column": 48 }, "end": { "line": 339, "column": 49 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9897, "end": 9898, "loc": { "start": { "line": 339, "column": 49 }, "end": { "line": 339, "column": 50 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 9902, "end": 9904, "loc": { "start": { "line": 341, "column": 2 }, "end": { "line": 341, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9904, "end": 9905, "loc": { "start": { "line": 341, "column": 4 }, "end": { "line": 341, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_start", "start": 9905, "end": 9912, "loc": { "start": { "line": 341, "column": 5 }, "end": { "line": 341, "column": 12 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 9913, "end": 9916, "loc": { "start": { "line": 341, "column": 13 }, "end": { "line": 341, "column": 16 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 9917, "end": 9921, "loc": { "start": { "line": 341, "column": 17 }, "end": { "line": 341, "column": 21 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 9922, "end": 9924, "loc": { "start": { "line": 341, "column": 22 }, "end": { "line": 341, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_start", "start": 9925, "end": 9932, "loc": { "start": { "line": 341, "column": 25 }, "end": { "line": 341, "column": 32 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 9933, "end": 9934, "loc": { "start": { "line": 341, "column": 33 }, "end": { "line": 341, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dot", "start": 9935, "end": 9938, "loc": { "start": { "line": 341, "column": 35 }, "end": { "line": 341, "column": 38 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9938, "end": 9939, "loc": { "start": { "line": 341, "column": 38 }, "end": { "line": 341, "column": 39 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9940, "end": 9941, "loc": { "start": { "line": 341, "column": 40 }, "end": { "line": 341, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_start", "start": 9945, "end": 9952, "loc": { "start": { "line": 342, "column": 3 }, "end": { "line": 342, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 9953, "end": 9954, "loc": { "start": { "line": 342, "column": 11 }, "end": { "line": 342, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dot", "start": 9955, "end": 9958, "loc": { "start": { "line": 342, "column": 13 }, "end": { "line": 342, "column": 16 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 9958, "end": 9959, "loc": { "start": { "line": 342, "column": 16 }, "end": { "line": 342, "column": 17 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9962, "end": 9963, "loc": { "start": { "line": 343, "column": 2 }, "end": { "line": 343, "column": 3 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 9967, "end": 9969, "loc": { "start": { "line": 345, "column": 2 }, "end": { "line": 345, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9969, "end": 9970, "loc": { "start": { "line": 345, "column": 4 }, "end": { "line": 345, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_end", "start": 9970, "end": 9975, "loc": { "start": { "line": 345, "column": 5 }, "end": { "line": 345, "column": 10 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 9976, "end": 9979, "loc": { "start": { "line": 345, "column": 11 }, "end": { "line": 345, "column": 14 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 9980, "end": 9984, "loc": { "start": { "line": 345, "column": 15 }, "end": { "line": 345, "column": 19 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 9985, "end": 9987, "loc": { "start": { "line": 345, "column": 20 }, "end": { "line": 345, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_end", "start": 9988, "end": 9993, "loc": { "start": { "line": 345, "column": 23 }, "end": { "line": 345, "column": 28 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 9994, "end": 9995, "loc": { "start": { "line": 345, "column": 29 }, "end": { "line": 345, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dot", "start": 9996, "end": 9999, "loc": { "start": { "line": 345, "column": 31 }, "end": { "line": 345, "column": 34 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 9999, "end": 10000, "loc": { "start": { "line": 345, "column": 34 }, "end": { "line": 345, "column": 35 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10001, "end": 10002, "loc": { "start": { "line": 345, "column": 36 }, "end": { "line": 345, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_end", "start": 10006, "end": 10011, "loc": { "start": { "line": 346, "column": 3 }, "end": { "line": 346, "column": 8 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10012, "end": 10013, "loc": { "start": { "line": 346, "column": 9 }, "end": { "line": 346, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dot", "start": 10014, "end": 10017, "loc": { "start": { "line": 346, "column": 11 }, "end": { "line": 346, "column": 14 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10017, "end": 10018, "loc": { "start": { "line": 346, "column": 14 }, "end": { "line": 346, "column": 15 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10021, "end": 10022, "loc": { "start": { "line": 347, "column": 2 }, "end": { "line": 347, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10024, "end": 10025, "loc": { "start": { "line": 348, "column": 1 }, "end": { "line": 348, "column": 2 } } }, { "type": { "label": "for", "keyword": "for", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "for", "start": 10028, "end": 10031, "loc": { "start": { "line": 350, "column": 1 }, "end": { "line": 350, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10031, "end": 10032, "loc": { "start": { "line": 350, "column": 4 }, "end": { "line": 350, "column": 5 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 10032, "end": 10035, "loc": { "start": { "line": 350, "column": 5 }, "end": { "line": 350, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 10036, "end": 10038, "loc": { "start": { "line": 350, "column": 9 }, "end": { "line": 350, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10039, "end": 10040, "loc": { "start": { "line": 350, "column": 12 }, "end": { "line": 350, "column": 13 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 10041, "end": 10042, "loc": { "start": { "line": 350, "column": 14 }, "end": { "line": 350, "column": 15 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10042, "end": 10043, "loc": { "start": { "line": 350, "column": 15 }, "end": { "line": 350, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 10044, "end": 10046, "loc": { "start": { "line": 350, "column": 17 }, "end": { "line": 350, "column": 19 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10047, "end": 10048, "loc": { "start": { "line": 350, "column": 20 }, "end": { "line": 350, "column": 21 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 10049, "end": 10050, "loc": { "start": { "line": 350, "column": 22 }, "end": { "line": 350, "column": 23 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10050, "end": 10051, "loc": { "start": { "line": 350, "column": 23 }, "end": { "line": 350, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 10052, "end": 10054, "loc": { "start": { "line": 350, "column": 25 }, "end": { "line": 350, "column": 27 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 10055, "end": 10056, "loc": { "start": { "line": 350, "column": 28 }, "end": { "line": 350, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_count", "start": 10057, "end": 10064, "loc": { "start": { "line": 350, "column": 30 }, "end": { "line": 350, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10064, "end": 10065, "loc": { "start": { "line": 350, "column": 37 }, "end": { "line": 350, "column": 38 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 10066, "end": 10068, "loc": { "start": { "line": 350, "column": 39 }, "end": { "line": 350, "column": 41 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 10069, "end": 10071, "loc": { "start": { "line": 350, "column": 42 }, "end": { "line": 350, "column": 44 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 10072, "end": 10073, "loc": { "start": { "line": 350, "column": 45 }, "end": { "line": 350, "column": 46 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10073, "end": 10074, "loc": { "start": { "line": 350, "column": 46 }, "end": { "line": 350, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 10075, "end": 10077, "loc": { "start": { "line": 350, "column": 48 }, "end": { "line": 350, "column": 50 } } }, { "type": { "label": "_=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "+=", "start": 10078, "end": 10080, "loc": { "start": { "line": 350, "column": 51 }, "end": { "line": 350, "column": 53 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 2, "start": 10081, "end": 10082, "loc": { "start": { "line": 350, "column": 54 }, "end": { "line": 350, "column": 55 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10082, "end": 10083, "loc": { "start": { "line": 350, "column": 55 }, "end": { "line": 350, "column": 56 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10084, "end": 10085, "loc": { "start": { "line": 350, "column": 57 }, "end": { "line": 350, "column": 58 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 10088, "end": 10093, "loc": { "start": { "line": 351, "column": 2 }, "end": { "line": 351, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dot", "start": 10094, "end": 10097, "loc": { "start": { "line": 351, "column": 8 }, "end": { "line": 351, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10098, "end": 10099, "loc": { "start": { "line": 351, "column": 12 }, "end": { "line": 351, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_coords", "start": 10100, "end": 10108, "loc": { "start": { "line": 351, "column": 14 }, "end": { "line": 351, "column": 22 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10108, "end": 10109, "loc": { "start": { "line": 351, "column": 22 }, "end": { "line": 351, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "ix", "start": 10109, "end": 10111, "loc": { "start": { "line": 351, "column": 23 }, "end": { "line": 351, "column": 25 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10111, "end": 10112, "loc": { "start": { "line": 351, "column": 25 }, "end": { "line": 351, "column": 26 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 10113, "end": 10114, "loc": { "start": { "line": 351, "column": 27 }, "end": { "line": 351, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 10115, "end": 10116, "loc": { "start": { "line": 351, "column": 29 }, "end": { "line": 351, "column": 30 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 10117, "end": 10118, "loc": { "start": { "line": 351, "column": 31 }, "end": { "line": 351, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_coords", "start": 10119, "end": 10127, "loc": { "start": { "line": 351, "column": 33 }, "end": { "line": 351, "column": 41 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10127, "end": 10128, "loc": { "start": { "line": 351, "column": 41 }, "end": { "line": 351, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "iy", "start": 10128, "end": 10130, "loc": { "start": { "line": 351, "column": 42 }, "end": { "line": 351, "column": 44 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10130, "end": 10131, "loc": { "start": { "line": 351, "column": 44 }, "end": { "line": 351, "column": 45 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 10132, "end": 10133, "loc": { "start": { "line": 351, "column": 46 }, "end": { "line": 351, "column": 47 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 10134, "end": 10135, "loc": { "start": { "line": 351, "column": 48 }, "end": { "line": 351, "column": 49 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10135, "end": 10136, "loc": { "start": { "line": 351, "column": 49 }, "end": { "line": 351, "column": 50 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 10140, "end": 10142, "loc": { "start": { "line": 353, "column": 2 }, "end": { "line": 353, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10142, "end": 10143, "loc": { "start": { "line": 353, "column": 4 }, "end": { "line": 353, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_start", "start": 10143, "end": 10150, "loc": { "start": { "line": 353, "column": 5 }, "end": { "line": 353, "column": 12 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 10151, "end": 10154, "loc": { "start": { "line": 353, "column": 13 }, "end": { "line": 353, "column": 16 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 10155, "end": 10159, "loc": { "start": { "line": 353, "column": 17 }, "end": { "line": 353, "column": 21 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 10160, "end": 10162, "loc": { "start": { "line": 353, "column": 22 }, "end": { "line": 353, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_start", "start": 10163, "end": 10170, "loc": { "start": { "line": 353, "column": 25 }, "end": { "line": 353, "column": 32 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 10171, "end": 10172, "loc": { "start": { "line": 353, "column": 33 }, "end": { "line": 353, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dot", "start": 10173, "end": 10176, "loc": { "start": { "line": 353, "column": 35 }, "end": { "line": 353, "column": 38 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10176, "end": 10177, "loc": { "start": { "line": 353, "column": 38 }, "end": { "line": 353, "column": 39 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10178, "end": 10179, "loc": { "start": { "line": 353, "column": 40 }, "end": { "line": 353, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_start", "start": 10183, "end": 10190, "loc": { "start": { "line": 354, "column": 3 }, "end": { "line": 354, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10191, "end": 10192, "loc": { "start": { "line": 354, "column": 11 }, "end": { "line": 354, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dot", "start": 10193, "end": 10196, "loc": { "start": { "line": 354, "column": 13 }, "end": { "line": 354, "column": 16 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10196, "end": 10197, "loc": { "start": { "line": 354, "column": 16 }, "end": { "line": 354, "column": 17 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10200, "end": 10201, "loc": { "start": { "line": 355, "column": 2 }, "end": { "line": 355, "column": 3 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 10205, "end": 10207, "loc": { "start": { "line": 357, "column": 2 }, "end": { "line": 357, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10207, "end": 10208, "loc": { "start": { "line": 357, "column": 4 }, "end": { "line": 357, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_end", "start": 10208, "end": 10213, "loc": { "start": { "line": 357, "column": 5 }, "end": { "line": 357, "column": 10 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 10214, "end": 10217, "loc": { "start": { "line": 357, "column": 11 }, "end": { "line": 357, "column": 14 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 10218, "end": 10222, "loc": { "start": { "line": 357, "column": 15 }, "end": { "line": 357, "column": 19 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 10223, "end": 10225, "loc": { "start": { "line": 357, "column": 20 }, "end": { "line": 357, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_end", "start": 10226, "end": 10231, "loc": { "start": { "line": 357, "column": 23 }, "end": { "line": 357, "column": 28 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 10232, "end": 10233, "loc": { "start": { "line": 357, "column": 29 }, "end": { "line": 357, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dot", "start": 10234, "end": 10237, "loc": { "start": { "line": 357, "column": 31 }, "end": { "line": 357, "column": 34 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10237, "end": 10238, "loc": { "start": { "line": 357, "column": 34 }, "end": { "line": 357, "column": 35 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10239, "end": 10240, "loc": { "start": { "line": 357, "column": 36 }, "end": { "line": 357, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_end", "start": 10244, "end": 10249, "loc": { "start": { "line": 358, "column": 3 }, "end": { "line": 358, "column": 8 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10250, "end": 10251, "loc": { "start": { "line": 358, "column": 9 }, "end": { "line": 358, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dot", "start": 10252, "end": 10255, "loc": { "start": { "line": 358, "column": 11 }, "end": { "line": 358, "column": 14 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10255, "end": 10256, "loc": { "start": { "line": 358, "column": 14 }, "end": { "line": 358, "column": 15 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10259, "end": 10260, "loc": { "start": { "line": 359, "column": 2 }, "end": { "line": 359, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10262, "end": 10263, "loc": { "start": { "line": 360, "column": 1 }, "end": { "line": 360, "column": 2 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 10266, "end": 10268, "loc": { "start": { "line": 362, "column": 1 }, "end": { "line": 362, "column": 3 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10268, "end": 10269, "loc": { "start": { "line": 362, "column": 3 }, "end": { "line": 362, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_start", "start": 10269, "end": 10276, "loc": { "start": { "line": 362, "column": 4 }, "end": { "line": 362, "column": 11 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 10277, "end": 10278, "loc": { "start": { "line": 362, "column": 12 }, "end": { "line": 362, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_end", "start": 10279, "end": 10284, "loc": { "start": { "line": 362, "column": 14 }, "end": { "line": 362, "column": 19 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 10285, "end": 10287, "loc": { "start": { "line": 362, "column": 20 }, "end": { "line": 362, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_end", "start": 10288, "end": 10293, "loc": { "start": { "line": 362, "column": 23 }, "end": { "line": 362, "column": 28 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 10294, "end": 10295, "loc": { "start": { "line": 362, "column": 29 }, "end": { "line": 362, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_start", "start": 10296, "end": 10303, "loc": { "start": { "line": 362, "column": 31 }, "end": { "line": 362, "column": 38 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10303, "end": 10304, "loc": { "start": { "line": 362, "column": 38 }, "end": { "line": 362, "column": 39 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10305, "end": 10306, "loc": { "start": { "line": 362, "column": 40 }, "end": { "line": 362, "column": 41 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 10309, "end": 10315, "loc": { "start": { "line": 363, "column": 2 }, "end": { "line": 363, "column": 8 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 10316, "end": 10320, "loc": { "start": { "line": 363, "column": 9 }, "end": { "line": 363, "column": 13 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10320, "end": 10321, "loc": { "start": { "line": 363, "column": 13 }, "end": { "line": 363, "column": 14 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10323, "end": 10324, "loc": { "start": { "line": 364, "column": 1 }, "end": { "line": 364, "column": 2 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 10327, "end": 10329, "loc": { "start": { "line": 366, "column": 1 }, "end": { "line": 366, "column": 3 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10329, "end": 10330, "loc": { "start": { "line": 366, "column": 3 }, "end": { "line": 366, "column": 4 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 10330, "end": 10336, "loc": { "start": { "line": 366, "column": 4 }, "end": { "line": 366, "column": 10 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10336, "end": 10337, "loc": { "start": { "line": 366, "column": 10 }, "end": { "line": 366, "column": 11 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10338, "end": 10339, "loc": { "start": { "line": 366, "column": 12 }, "end": { "line": 366, "column": 13 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 10342, "end": 10345, "loc": { "start": { "line": 367, "column": 2 }, "end": { "line": 367, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 10346, "end": 10353, "loc": { "start": { "line": 367, "column": 6 }, "end": { "line": 367, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10354, "end": 10355, "loc": { "start": { "line": 367, "column": 14 }, "end": { "line": 367, "column": 15 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 10356, "end": 10357, "loc": { "start": { "line": 367, "column": 16 }, "end": { "line": 367, "column": 17 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10357, "end": 10358, "loc": { "start": { "line": 367, "column": 17 }, "end": { "line": 367, "column": 18 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 10362, "end": 10364, "loc": { "start": { "line": 369, "column": 2 }, "end": { "line": 369, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10364, "end": 10365, "loc": { "start": { "line": 369, "column": 4 }, "end": { "line": 369, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_start", "start": 10365, "end": 10372, "loc": { "start": { "line": 369, "column": 5 }, "end": { "line": 369, "column": 12 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 10373, "end": 10374, "loc": { "start": { "line": 369, "column": 13 }, "end": { "line": 369, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_start", "start": 10375, "end": 10382, "loc": { "start": { "line": 369, "column": 15 }, "end": { "line": 369, "column": 22 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10382, "end": 10383, "loc": { "start": { "line": 369, "column": 22 }, "end": { "line": 369, "column": 23 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10384, "end": 10385, "loc": { "start": { "line": 369, "column": 24 }, "end": { "line": 369, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 10389, "end": 10395, "loc": { "start": { "line": 370, "column": 3 }, "end": { "line": 370, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10395, "end": 10396, "loc": { "start": { "line": 370, "column": 9 }, "end": { "line": 370, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_in_b", "start": 10396, "end": 10402, "loc": { "start": { "line": 370, "column": 10 }, "end": { "line": 370, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10403, "end": 10404, "loc": { "start": { "line": 370, "column": 17 }, "end": { "line": 370, "column": 18 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 10405, "end": 10410, "loc": { "start": { "line": 370, "column": 19 }, "end": { "line": 370, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10410, "end": 10411, "loc": { "start": { "line": 370, "column": 24 }, "end": { "line": 370, "column": 25 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 10416, "end": 10418, "loc": { "start": { "line": 372, "column": 3 }, "end": { "line": 372, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10418, "end": 10419, "loc": { "start": { "line": 372, "column": 5 }, "end": { "line": 372, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_end", "start": 10419, "end": 10424, "loc": { "start": { "line": 372, "column": 6 }, "end": { "line": 372, "column": 11 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 10425, "end": 10426, "loc": { "start": { "line": 372, "column": 12 }, "end": { "line": 372, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_end", "start": 10427, "end": 10432, "loc": { "start": { "line": 372, "column": 14 }, "end": { "line": 372, "column": 19 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10432, "end": 10433, "loc": { "start": { "line": 372, "column": 19 }, "end": { "line": 372, "column": 20 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10434, "end": 10435, "loc": { "start": { "line": 372, "column": 21 }, "end": { "line": 372, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 10440, "end": 10447, "loc": { "start": { "line": 373, "column": 4 }, "end": { "line": 373, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10454, "end": 10455, "loc": { "start": { "line": 373, "column": 18 }, "end": { "line": 373, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_end", "start": 10456, "end": 10461, "loc": { "start": { "line": 373, "column": 20 }, "end": { "line": 373, "column": 25 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 10462, "end": 10463, "loc": { "start": { "line": 373, "column": 26 }, "end": { "line": 373, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_start", "start": 10464, "end": 10471, "loc": { "start": { "line": 373, "column": 28 }, "end": { "line": 373, "column": 35 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10471, "end": 10472, "loc": { "start": { "line": 373, "column": 35 }, "end": { "line": 373, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 10477, "end": 10483, "loc": { "start": { "line": 374, "column": 4 }, "end": { "line": 374, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10483, "end": 10484, "loc": { "start": { "line": 374, "column": 10 }, "end": { "line": 374, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_in_a", "start": 10484, "end": 10490, "loc": { "start": { "line": 374, "column": 11 }, "end": { "line": 374, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10491, "end": 10492, "loc": { "start": { "line": 374, "column": 18 }, "end": { "line": 374, "column": 19 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 10493, "end": 10498, "loc": { "start": { "line": 374, "column": 20 }, "end": { "line": 374, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10498, "end": 10499, "loc": { "start": { "line": 374, "column": 25 }, "end": { "line": 374, "column": 26 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10503, "end": 10504, "loc": { "start": { "line": 375, "column": 3 }, "end": { "line": 375, "column": 4 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 10508, "end": 10512, "loc": { "start": { "line": 376, "column": 3 }, "end": { "line": 376, "column": 7 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10513, "end": 10514, "loc": { "start": { "line": 376, "column": 8 }, "end": { "line": 376, "column": 9 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 10519, "end": 10524, "loc": { "start": { "line": 377, "column": 4 }, "end": { "line": 377, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "option1", "start": 10525, "end": 10532, "loc": { "start": { "line": 377, "column": 10 }, "end": { "line": 377, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10533, "end": 10534, "loc": { "start": { "line": 377, "column": 18 }, "end": { "line": 377, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_end", "start": 10535, "end": 10540, "loc": { "start": { "line": 377, "column": 20 }, "end": { "line": 377, "column": 25 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 10541, "end": 10542, "loc": { "start": { "line": 377, "column": 26 }, "end": { "line": 377, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_start", "start": 10543, "end": 10550, "loc": { "start": { "line": 377, "column": 28 }, "end": { "line": 377, "column": 35 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10550, "end": 10551, "loc": { "start": { "line": 377, "column": 35 }, "end": { "line": 377, "column": 36 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 10556, "end": 10561, "loc": { "start": { "line": 378, "column": 4 }, "end": { "line": 378, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "option2", "start": 10562, "end": 10569, "loc": { "start": { "line": 378, "column": 10 }, "end": { "line": 378, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10570, "end": 10571, "loc": { "start": { "line": 378, "column": 18 }, "end": { "line": 378, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_end", "start": 10572, "end": 10577, "loc": { "start": { "line": 378, "column": 20 }, "end": { "line": 378, "column": 25 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 10578, "end": 10579, "loc": { "start": { "line": 378, "column": 26 }, "end": { "line": 378, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_start", "start": 10580, "end": 10587, "loc": { "start": { "line": 378, "column": 28 }, "end": { "line": 378, "column": 35 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10587, "end": 10588, "loc": { "start": { "line": 378, "column": 35 }, "end": { "line": 378, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 10594, "end": 10601, "loc": { "start": { "line": 380, "column": 4 }, "end": { "line": 380, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10602, "end": 10603, "loc": { "start": { "line": 380, "column": 12 }, "end": { "line": 380, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "option1", "start": 10604, "end": 10611, "loc": { "start": { "line": 380, "column": 14 }, "end": { "line": 380, "column": 21 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 10612, "end": 10613, "loc": { "start": { "line": 380, "column": 22 }, "end": { "line": 380, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "option2", "start": 10614, "end": 10621, "loc": { "start": { "line": 380, "column": 24 }, "end": { "line": 380, "column": 31 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10622, "end": 10623, "loc": { "start": { "line": 380, "column": 32 }, "end": { "line": 380, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "option1", "start": 10624, "end": 10631, "loc": { "start": { "line": 380, "column": 34 }, "end": { "line": 380, "column": 41 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10632, "end": 10633, "loc": { "start": { "line": 380, "column": 42 }, "end": { "line": 380, "column": 43 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 10634, "end": 10635, "loc": { "start": { "line": 380, "column": 44 }, "end": { "line": 380, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "option2", "start": 10635, "end": 10642, "loc": { "start": { "line": 380, "column": 45 }, "end": { "line": 380, "column": 52 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10642, "end": 10643, "loc": { "start": { "line": 380, "column": 52 }, "end": { "line": 380, "column": 53 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10647, "end": 10648, "loc": { "start": { "line": 381, "column": 3 }, "end": { "line": 381, "column": 4 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10651, "end": 10652, "loc": { "start": { "line": 382, "column": 2 }, "end": { "line": 382, "column": 3 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 10655, "end": 10659, "loc": { "start": { "line": 383, "column": 2 }, "end": { "line": 383, "column": 6 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10660, "end": 10661, "loc": { "start": { "line": 383, "column": 7 }, "end": { "line": 383, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 10665, "end": 10671, "loc": { "start": { "line": 384, "column": 3 }, "end": { "line": 384, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10671, "end": 10672, "loc": { "start": { "line": 384, "column": 9 }, "end": { "line": 384, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_in_a", "start": 10672, "end": 10678, "loc": { "start": { "line": 384, "column": 10 }, "end": { "line": 384, "column": 16 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10679, "end": 10680, "loc": { "start": { "line": 384, "column": 17 }, "end": { "line": 384, "column": 18 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 10681, "end": 10686, "loc": { "start": { "line": 384, "column": 19 }, "end": { "line": 384, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10686, "end": 10687, "loc": { "start": { "line": 384, "column": 24 }, "end": { "line": 384, "column": 25 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 10692, "end": 10694, "loc": { "start": { "line": 386, "column": 3 }, "end": { "line": 386, "column": 5 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10694, "end": 10695, "loc": { "start": { "line": 386, "column": 5 }, "end": { "line": 386, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_end", "start": 10695, "end": 10700, "loc": { "start": { "line": 386, "column": 6 }, "end": { "line": 386, "column": 11 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 10701, "end": 10702, "loc": { "start": { "line": 386, "column": 12 }, "end": { "line": 386, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_end", "start": 10703, "end": 10708, "loc": { "start": { "line": 386, "column": 14 }, "end": { "line": 386, "column": 19 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10708, "end": 10709, "loc": { "start": { "line": 386, "column": 19 }, "end": { "line": 386, "column": 20 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10710, "end": 10711, "loc": { "start": { "line": 386, "column": 21 }, "end": { "line": 386, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 10716, "end": 10723, "loc": { "start": { "line": 387, "column": 4 }, "end": { "line": 387, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10730, "end": 10731, "loc": { "start": { "line": 387, "column": 18 }, "end": { "line": 387, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_start", "start": 10732, "end": 10739, "loc": { "start": { "line": 387, "column": 20 }, "end": { "line": 387, "column": 27 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 10740, "end": 10741, "loc": { "start": { "line": 387, "column": 28 }, "end": { "line": 387, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_end", "start": 10742, "end": 10747, "loc": { "start": { "line": 387, "column": 30 }, "end": { "line": 387, "column": 35 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10747, "end": 10748, "loc": { "start": { "line": 387, "column": 35 }, "end": { "line": 387, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 10753, "end": 10759, "loc": { "start": { "line": 388, "column": 4 }, "end": { "line": 388, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10759, "end": 10760, "loc": { "start": { "line": 388, "column": 10 }, "end": { "line": 388, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_in_b", "start": 10760, "end": 10766, "loc": { "start": { "line": 388, "column": 11 }, "end": { "line": 388, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10767, "end": 10768, "loc": { "start": { "line": 388, "column": 18 }, "end": { "line": 388, "column": 19 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 10769, "end": 10774, "loc": { "start": { "line": 388, "column": 20 }, "end": { "line": 388, "column": 25 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10774, "end": 10775, "loc": { "start": { "line": 388, "column": 25 }, "end": { "line": 388, "column": 26 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10779, "end": 10780, "loc": { "start": { "line": 389, "column": 3 }, "end": { "line": 389, "column": 4 } } }, { "type": { "label": "else", "keyword": "else", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "else", "start": 10784, "end": 10788, "loc": { "start": { "line": 390, "column": 3 }, "end": { "line": 390, "column": 7 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10789, "end": 10790, "loc": { "start": { "line": 390, "column": 8 }, "end": { "line": 390, "column": 9 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 10795, "end": 10800, "loc": { "start": { "line": 391, "column": 4 }, "end": { "line": 391, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "option1", "start": 10801, "end": 10808, "loc": { "start": { "line": 391, "column": 10 }, "end": { "line": 391, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10809, "end": 10810, "loc": { "start": { "line": 391, "column": 18 }, "end": { "line": 391, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_end", "start": 10811, "end": 10816, "loc": { "start": { "line": 391, "column": 20 }, "end": { "line": 391, "column": 25 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 10817, "end": 10818, "loc": { "start": { "line": 391, "column": 26 }, "end": { "line": 391, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_start", "start": 10819, "end": 10826, "loc": { "start": { "line": 391, "column": 28 }, "end": { "line": 391, "column": 35 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10826, "end": 10827, "loc": { "start": { "line": 391, "column": 35 }, "end": { "line": 391, "column": 36 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 10832, "end": 10837, "loc": { "start": { "line": 392, "column": 4 }, "end": { "line": 392, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "option2", "start": 10838, "end": 10845, "loc": { "start": { "line": 392, "column": 10 }, "end": { "line": 392, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10846, "end": 10847, "loc": { "start": { "line": 392, "column": 18 }, "end": { "line": 392, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b_end", "start": 10848, "end": 10853, "loc": { "start": { "line": 392, "column": 20 }, "end": { "line": 392, "column": 25 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 10854, "end": 10855, "loc": { "start": { "line": 392, "column": 26 }, "end": { "line": 392, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a_start", "start": 10856, "end": 10863, "loc": { "start": { "line": 392, "column": 28 }, "end": { "line": 392, "column": 35 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10863, "end": 10864, "loc": { "start": { "line": 392, "column": 35 }, "end": { "line": 392, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 10870, "end": 10877, "loc": { "start": { "line": 394, "column": 4 }, "end": { "line": 394, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10878, "end": 10879, "loc": { "start": { "line": 394, "column": 12 }, "end": { "line": 394, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "option1", "start": 10880, "end": 10887, "loc": { "start": { "line": 394, "column": 14 }, "end": { "line": 394, "column": 21 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 10888, "end": 10889, "loc": { "start": { "line": 394, "column": 22 }, "end": { "line": 394, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "option2", "start": 10890, "end": 10897, "loc": { "start": { "line": 394, "column": 24 }, "end": { "line": 394, "column": 31 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10898, "end": 10899, "loc": { "start": { "line": 394, "column": 32 }, "end": { "line": 394, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "option1", "start": 10900, "end": 10907, "loc": { "start": { "line": 394, "column": 34 }, "end": { "line": 394, "column": 41 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10908, "end": 10909, "loc": { "start": { "line": 394, "column": 42 }, "end": { "line": 394, "column": 43 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 10910, "end": 10911, "loc": { "start": { "line": 394, "column": 44 }, "end": { "line": 394, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "option2", "start": 10911, "end": 10918, "loc": { "start": { "line": 394, "column": 45 }, "end": { "line": 394, "column": 52 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10918, "end": 10919, "loc": { "start": { "line": 394, "column": 52 }, "end": { "line": 394, "column": 53 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10923, "end": 10924, "loc": { "start": { "line": 395, "column": 3 }, "end": { "line": 395, "column": 4 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 10927, "end": 10928, "loc": { "start": { "line": 396, "column": 2 }, "end": { "line": 396, "column": 3 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 10932, "end": 10937, "loc": { "start": { "line": 398, "column": 2 }, "end": { "line": 398, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current_overlap", "start": 10938, "end": 10953, "loc": { "start": { "line": 398, "column": 8 }, "end": { "line": 398, "column": 23 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10955, "end": 10956, "loc": { "start": { "line": 398, "column": 25 }, "end": { "line": 398, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 10957, "end": 10963, "loc": { "start": { "line": 398, "column": 27 }, "end": { "line": 398, "column": 33 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10963, "end": 10964, "loc": { "start": { "line": 398, "column": 33 }, "end": { "line": 398, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 10964, "end": 10971, "loc": { "start": { "line": 398, "column": 34 }, "end": { "line": 398, "column": 41 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 10971, "end": 10972, "loc": { "start": { "line": 398, "column": 41 }, "end": { "line": 398, "column": 42 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 10975, "end": 10980, "loc": { "start": { "line": 399, "column": 2 }, "end": { "line": 399, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "absolute_overlap", "start": 10981, "end": 10997, "loc": { "start": { "line": 399, "column": 8 }, "end": { "line": 399, "column": 24 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 10998, "end": 10999, "loc": { "start": { "line": 399, "column": 25 }, "end": { "line": 399, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 11000, "end": 11007, "loc": { "start": { "line": 399, "column": 27 }, "end": { "line": 399, "column": 34 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 11008, "end": 11009, "loc": { "start": { "line": 399, "column": 35 }, "end": { "line": 399, "column": 36 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 11010, "end": 11011, "loc": { "start": { "line": 399, "column": 37 }, "end": { "line": 399, "column": 38 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11012, "end": 11013, "loc": { "start": { "line": 399, "column": 39 }, "end": { "line": 399, "column": 40 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 11014, "end": 11015, "loc": { "start": { "line": 399, "column": 41 }, "end": { "line": 399, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 11015, "end": 11022, "loc": { "start": { "line": 399, "column": 42 }, "end": { "line": 399, "column": 49 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11023, "end": 11024, "loc": { "start": { "line": 399, "column": 50 }, "end": { "line": 399, "column": 51 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 11025, "end": 11032, "loc": { "start": { "line": 399, "column": 52 }, "end": { "line": 399, "column": 59 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11032, "end": 11033, "loc": { "start": { "line": 399, "column": 59 }, "end": { "line": 399, "column": 60 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 11037, "end": 11039, "loc": { "start": { "line": 401, "column": 2 }, "end": { "line": 401, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11039, "end": 11040, "loc": { "start": { "line": 401, "column": 4 }, "end": { "line": 401, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current_overlap", "start": 11040, "end": 11055, "loc": { "start": { "line": 401, "column": 5 }, "end": { "line": 401, "column": 20 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 11056, "end": 11059, "loc": { "start": { "line": 401, "column": 21 }, "end": { "line": 401, "column": 24 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 11060, "end": 11064, "loc": { "start": { "line": 401, "column": 25 }, "end": { "line": 401, "column": 29 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 11065, "end": 11067, "loc": { "start": { "line": 401, "column": 30 }, "end": { "line": 401, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "current_overlap", "start": 11068, "end": 11083, "loc": { "start": { "line": 401, "column": 33 }, "end": { "line": 401, "column": 48 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": ">", "start": 11084, "end": 11085, "loc": { "start": { "line": 401, "column": 49 }, "end": { "line": 401, "column": 50 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "absolute_overlap", "start": 11086, "end": 11102, "loc": { "start": { "line": 401, "column": 51 }, "end": { "line": 401, "column": 67 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11102, "end": 11103, "loc": { "start": { "line": 401, "column": 67 }, "end": { "line": 401, "column": 68 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11104, "end": 11105, "loc": { "start": { "line": 401, "column": 69 }, "end": { "line": 401, "column": 70 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 11109, "end": 11114, "loc": { "start": { "line": 402, "column": 3 }, "end": { "line": 402, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sign", "start": 11115, "end": 11119, "loc": { "start": { "line": 402, "column": 9 }, "end": { "line": 402, "column": 13 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 11120, "end": 11121, "loc": { "start": { "line": 402, "column": 14 }, "end": { "line": 402, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 11122, "end": 11129, "loc": { "start": { "line": 402, "column": 16 }, "end": { "line": 402, "column": 23 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 11130, "end": 11131, "loc": { "start": { "line": 402, "column": 24 }, "end": { "line": 402, "column": 25 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 11132, "end": 11133, "loc": { "start": { "line": 402, "column": 26 }, "end": { "line": 402, "column": 27 } } }, { "type": { "label": "?", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11134, "end": 11135, "loc": { "start": { "line": 402, "column": 28 }, "end": { "line": 402, "column": 29 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 11136, "end": 11137, "loc": { "start": { "line": 402, "column": 30 }, "end": { "line": 402, "column": 31 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 11137, "end": 11138, "loc": { "start": { "line": 402, "column": 31 }, "end": { "line": 402, "column": 32 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11139, "end": 11140, "loc": { "start": { "line": 402, "column": 33 }, "end": { "line": 402, "column": 34 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 11141, "end": 11142, "loc": { "start": { "line": 402, "column": 35 }, "end": { "line": 402, "column": 36 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11142, "end": 11143, "loc": { "start": { "line": 402, "column": 36 }, "end": { "line": 402, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 11148, "end": 11154, "loc": { "start": { "line": 404, "column": 3 }, "end": { "line": 404, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11154, "end": 11155, "loc": { "start": { "line": 404, "column": 9 }, "end": { "line": 404, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap", "start": 11155, "end": 11162, "loc": { "start": { "line": 404, "column": 10 }, "end": { "line": 404, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 11165, "end": 11166, "loc": { "start": { "line": 404, "column": 20 }, "end": { "line": 404, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "absolute_overlap", "start": 11167, "end": 11183, "loc": { "start": { "line": 404, "column": 22 }, "end": { "line": 404, "column": 38 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11183, "end": 11184, "loc": { "start": { "line": 404, "column": 38 }, "end": { "line": 404, "column": 39 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 11188, "end": 11194, "loc": { "start": { "line": 405, "column": 3 }, "end": { "line": 405, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11194, "end": 11195, "loc": { "start": { "line": 405, "column": 9 }, "end": { "line": 405, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_x", "start": 11195, "end": 11204, "loc": { "start": { "line": 405, "column": 10 }, "end": { "line": 405, "column": 19 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 11205, "end": 11206, "loc": { "start": { "line": 405, "column": 20 }, "end": { "line": 405, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "x", "start": 11207, "end": 11208, "loc": { "start": { "line": 405, "column": 22 }, "end": { "line": 405, "column": 23 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 11209, "end": 11210, "loc": { "start": { "line": 405, "column": 24 }, "end": { "line": 405, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sign", "start": 11211, "end": 11215, "loc": { "start": { "line": 405, "column": 26 }, "end": { "line": 405, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11215, "end": 11216, "loc": { "start": { "line": 405, "column": 30 }, "end": { "line": 405, "column": 31 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "result", "start": 11220, "end": 11226, "loc": { "start": { "line": 406, "column": 3 }, "end": { "line": 406, "column": 9 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11226, "end": 11227, "loc": { "start": { "line": 406, "column": 9 }, "end": { "line": 406, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "overlap_y", "start": 11227, "end": 11236, "loc": { "start": { "line": 406, "column": 10 }, "end": { "line": 406, "column": 19 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 11237, "end": 11238, "loc": { "start": { "line": 406, "column": 20 }, "end": { "line": 406, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 11239, "end": 11240, "loc": { "start": { "line": 406, "column": 22 }, "end": { "line": 406, "column": 23 } } }, { "type": { "label": "*", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 10, "updateContext": null }, "value": "*", "start": 11241, "end": 11242, "loc": { "start": { "line": 406, "column": 24 }, "end": { "line": 406, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sign", "start": 11243, "end": 11247, "loc": { "start": { "line": 406, "column": 26 }, "end": { "line": 406, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11247, "end": 11248, "loc": { "start": { "line": 406, "column": 30 }, "end": { "line": 406, "column": 31 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11251, "end": 11252, "loc": { "start": { "line": 407, "column": 2 }, "end": { "line": 407, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11254, "end": 11255, "loc": { "start": { "line": 408, "column": 1 }, "end": { "line": 408, "column": 2 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 11258, "end": 11264, "loc": { "start": { "line": 410, "column": 1 }, "end": { "line": 410, "column": 7 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 11265, "end": 11270, "loc": { "start": { "line": 410, "column": 8 }, "end": { "line": 410, "column": 13 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11270, "end": 11271, "loc": { "start": { "line": 410, "column": 13 }, "end": { "line": 410, "column": 14 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 11272, "end": 11273, "loc": { "start": { "line": 411, "column": 0 }, "end": { "line": 411, "column": 1 } } }, { "type": { "label": "eof", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 11274, "end": 11274, "loc": { "start": { "line": 412, "column": 0 }, "end": { "line": 412, "column": 0 } } } ] } ================================================ FILE: docs/class/src/Collisions.mjs~Collisions.html ================================================ Collisions | collisions
Home Reference Source
import {Collisions} from 'collisions'
public class | source

Collisions

A collision system used to track bodies in order to improve collision detection performance

Static Method Summary

Static Public Methods
public static

Creates a Result used to collect the detailed results of a collision test

Constructor Summary

Public Constructor
public

Method Summary

Public Methods
public

collides(target: Circle | Polygon | Point, result: Result, aabb: Boolean): Boolean

Determines if two bodies are colliding

public

createCircle(x: Number, y: Number, radius: Number, scale: Number, padding: Number): Circle

Creates a Circle and inserts it into the collision system

public

createPoint(x: Number, y: Number, padding: Number): Point

Creates a Point and inserts it into the collision system

public

createPolygon(x: Number, y: Number, points: Array<Number[]>, angle: Number, scale_x: Number, scale_y: Number, padding: Number): Polygon

Creates a Polygon and inserts it into the collision system

public

Creates a Result used to collect the detailed results of a collision test

public

draw(context: CanvasRenderingContext2D)

Draws the bodies within the system to a CanvasRenderingContext2D's current path

public

drawBVH(context: CanvasRenderingContext2D)

Draws the system's BVH to a CanvasRenderingContext2D's current path.

public

insert(bodies: ...Circle | ...Polygon | ...Point)

Inserts bodies into the collision system

public

Returns a list of potential collisions for a body

public

remove(bodies: ...Circle | ...Polygon | ...Point)

Removes bodies from the collision system

public

update()

Updates the collision system.

Static Public Methods

public static createResult() source

Creates a Result used to collect the detailed results of a collision test

Public Constructors

public constructor() source

Public Methods

public collides(target: Circle | Polygon | Point, result: Result, aabb: Boolean): Boolean source

Determines if two bodies are colliding

Params:

NameTypeAttributeDescription
target Circle | Polygon | Point

The target body to test against

result Result
  • optional
  • default: null

A Result object on which to store information about the collision

aabb Boolean
  • optional
  • default: true

Set to false to skip the AABB test (useful if you use your own potential collision heuristic)

Return:

Boolean

public createCircle(x: Number, y: Number, radius: Number, scale: Number, padding: Number): Circle source

Creates a Circle and inserts it into the collision system

Params:

NameTypeAttributeDescription
x Number
  • optional
  • default: 0

The starting X coordinate

y Number
  • optional
  • default: 0

The starting Y coordinate

radius Number
  • optional
  • default: 0

The radius

scale Number
  • optional
  • default: 1

The scale

padding Number
  • optional
  • default: 0

The amount to pad the bounding volume when testing for potential collisions

Return:

Circle

public createPoint(x: Number, y: Number, padding: Number): Point source

Creates a Point and inserts it into the collision system

Params:

NameTypeAttributeDescription
x Number
  • optional
  • default: 0

The starting X coordinate

y Number
  • optional
  • default: 0

The starting Y coordinate

padding Number
  • optional
  • default: 0

The amount to pad the bounding volume when testing for potential collisions

Return:

Point

public createPolygon(x: Number, y: Number, points: Array<Number[]>, angle: Number, scale_x: Number, scale_y: Number, padding: Number): Polygon source

Creates a Polygon and inserts it into the collision system

Params:

NameTypeAttributeDescription
x Number
  • optional
  • default: 0

The starting X coordinate

y Number
  • optional
  • default: 0

The starting Y coordinate

points Array<Number[]>
  • optional
  • default: []

An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]

angle Number
  • optional
  • default: 0

The starting rotation in radians

scale_x Number
  • optional
  • default: 1

The starting scale along the X axis

scale_y Number
  • optional
  • default: 1

The starting scale long the Y axis

padding Number
  • optional
  • default: 0

The amount to pad the bounding volume when testing for potential collisions

Return:

Polygon

public createResult() source

Creates a Result used to collect the detailed results of a collision test

public draw(context: CanvasRenderingContext2D) source

Draws the bodies within the system to a CanvasRenderingContext2D's current path

Params:

NameTypeAttributeDescription
context CanvasRenderingContext2D

The context to draw to

public drawBVH(context: CanvasRenderingContext2D) source

Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.

Params:

NameTypeAttributeDescription
context CanvasRenderingContext2D

The context to draw to

public insert(bodies: ...Circle | ...Polygon | ...Point) source

Inserts bodies into the collision system

Params:

NameTypeAttributeDescription
bodies ...Circle | ...Polygon | ...Point

public potentials(body: Circle | Polygon | Point): Array<Body> source

Returns a list of potential collisions for a body

Params:

NameTypeAttributeDescription
body Circle | Polygon | Point

The body to test for potential collisions against

Return:

Array<Body>

public remove(bodies: ...Circle | ...Polygon | ...Point) source

Removes bodies from the collision system

Params:

NameTypeAttributeDescription
bodies ...Circle | ...Polygon | ...Point

public update() source

Updates the collision system. This should be called before any collisions are tested.

================================================ FILE: docs/class/src/modules/Body.mjs~Body.html ================================================ Body | collisions
Home Reference Source
protected class | source

Body

Direct Subclass:

Indirect Subclass:

The base class for bodies used to detect collisions

Static Method Summary

Static Public Methods
public static

Creates a Result used to collect the detailed results of a collision test

Constructor Summary

Public Constructor
public

constructor(x: Number, y: Number, padding: Number)

Member Summary

Public Members
public

The amount to pad the bounding volume when testing for potential collisions

public

The X coordinate of the body

public

The Y coordinate of the body

Method Summary

Public Methods
public

collides(target: Circle | Polygon | Point, result: Result, aabb: Boolean): Boolean

Determines if the body is colliding with another body

public

Creates a Result used to collect the detailed results of a collision test

public

Returns a list of potential collisions

public

remove()

Removes the body from its current collision system

Static Public Methods

public static createResult() source

Creates a Result used to collect the detailed results of a collision test

Public Constructors

public constructor(x: Number, y: Number, padding: Number) source

Params:

NameTypeAttributeDescription
x Number
  • optional
  • default: 0

The starting X coordinate

y Number
  • optional
  • default: 0

The starting Y coordinate

padding Number
  • optional
  • default: 0

The amount to pad the bounding volume when testing for potential collisions

Public Members

public padding: Number source

The amount to pad the bounding volume when testing for potential collisions

public x: Number source

The X coordinate of the body

public y: Number source

The Y coordinate of the body

Public Methods

public collides(target: Circle | Polygon | Point, result: Result, aabb: Boolean): Boolean source

Determines if the body is colliding with another body

Params:

NameTypeAttributeDescription
target Circle | Polygon | Point

The target body to test against

result Result
  • optional
  • default: null

A Result object on which to store information about the collision

aabb Boolean
  • optional
  • default: true

Set to false to skip the AABB test (useful if you use your own potential collision heuristic)

Return:

Boolean

public createResult() source

Creates a Result used to collect the detailed results of a collision test

public potentials(): Array<Body> source

Returns a list of potential collisions

Return:

Array<Body>

public remove() source

Removes the body from its current collision system

================================================ FILE: docs/class/src/modules/Circle.mjs~Circle.html ================================================ Circle | collisions
Home Reference Source
public class | source

Circle

Extends:

Body → Circle

A circle used to detect collisions

Constructor Summary

Public Constructor
public

constructor(x: Number, y: Number, radius: Number, scale: Number, padding: Number)

Member Summary

Public Members
public
public

Method Summary

Public Methods
public

draw(context: CanvasRenderingContext2D)

Draws the circle to a CanvasRenderingContext2D's current path

Inherited Summary

From class Body
public static

Creates a Result used to collect the detailed results of a collision test

public

The amount to pad the bounding volume when testing for potential collisions

public

The X coordinate of the body

public

The Y coordinate of the body

public

collides(target: Circle | Polygon | Point, result: Result, aabb: Boolean): Boolean

Determines if the body is colliding with another body

public

Creates a Result used to collect the detailed results of a collision test

public

Returns a list of potential collisions

public

remove()

Removes the body from its current collision system

Public Constructors

public constructor(x: Number, y: Number, radius: Number, scale: Number, padding: Number) source

Params:

NameTypeAttributeDescription
x Number
  • optional
  • default: 0

The starting X coordinate

y Number
  • optional
  • default: 0

The starting Y coordinate

radius Number
  • optional
  • default: 0

The radius

scale Number
  • optional
  • default: 1

The scale

padding Number
  • optional
  • default: 0

The amount to pad the bounding volume when testing for potential collisions

Public Members

public radius: Number source

public scale: Number source

Public Methods

public draw(context: CanvasRenderingContext2D) source

Draws the circle to a CanvasRenderingContext2D's current path

Params:

NameTypeAttributeDescription
context CanvasRenderingContext2D

The context to add the arc to

================================================ FILE: docs/class/src/modules/Point.mjs~Point.html ================================================ Point | collisions
Home Reference Source
public class | source

Point

Extends:

BodyPolygon → Point

A point used to detect collisions

Constructor Summary

Public Constructor
public

constructor(x: Number, y: Number, padding: Number)

Inherited Summary

From class Body
public static

Creates a Result used to collect the detailed results of a collision test

public

The amount to pad the bounding volume when testing for potential collisions

public

The X coordinate of the body

public

The Y coordinate of the body

public

collides(target: Circle | Polygon | Point, result: Result, aabb: Boolean): Boolean

Determines if the body is colliding with another body

public

Creates a Result used to collect the detailed results of a collision test

public

Returns a list of potential collisions

public

remove()

Removes the body from its current collision system

From class Polygon
public

The angle of the body in radians

public

The scale of the body along the X axis

public

The scale of the body along the Y axis

public

draw(context: CanvasRenderingContext2D)

Draws the polygon to a CanvasRenderingContext2D's current path

public

setPoints(new_points: Array<Number[]>)

Sets the points making up the polygon.

Public Constructors

public constructor(x: Number, y: Number, padding: Number) source

Params:

NameTypeAttributeDescription
x Number
  • optional
  • default: 0

The starting X coordinate

y Number
  • optional
  • default: 0

The starting Y coordinate

padding Number
  • optional
  • default: 0

The amount to pad the bounding volume when testing for potential collisions

================================================ FILE: docs/class/src/modules/Polygon.mjs~Polygon.html ================================================ Polygon | collisions
Home Reference Source
public class | source

Polygon

Extends:

Body → Polygon

Direct Subclass:

A polygon used to detect collisions

Constructor Summary

Public Constructor
public

constructor(x: Number, y: Number, points: Array<Number[]>, angle: Number, scale_x: Number, scale_y: Number, padding: Number)

Member Summary

Public Members
public

The angle of the body in radians

public

The scale of the body along the X axis

public

The scale of the body along the Y axis

Method Summary

Public Methods
public

draw(context: CanvasRenderingContext2D)

Draws the polygon to a CanvasRenderingContext2D's current path

public

setPoints(new_points: Array<Number[]>)

Sets the points making up the polygon.

Inherited Summary

From class Body
public static

Creates a Result used to collect the detailed results of a collision test

public

The amount to pad the bounding volume when testing for potential collisions

public

The X coordinate of the body

public

The Y coordinate of the body

public

collides(target: Circle | Polygon | Point, result: Result, aabb: Boolean): Boolean

Determines if the body is colliding with another body

public

Creates a Result used to collect the detailed results of a collision test

public

Returns a list of potential collisions

public

remove()

Removes the body from its current collision system

Public Constructors

public constructor(x: Number, y: Number, points: Array<Number[]>, angle: Number, scale_x: Number, scale_y: Number, padding: Number) source

Params:

NameTypeAttributeDescription
x Number
  • optional
  • default: 0

The starting X coordinate

y Number
  • optional
  • default: 0

The starting Y coordinate

points Array<Number[]>
  • optional
  • default: []

An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]

angle Number
  • optional
  • default: 0

The starting rotation in radians

scale_x Number
  • optional
  • default: 1

The starting scale along the X axis

scale_y Number
  • optional
  • default: 1

The starting scale long the Y axis

padding Number
  • optional
  • default: 0

The amount to pad the bounding volume when testing for potential collisions

Public Members

public angle: Number source

The angle of the body in radians

public scale_x: Number source

The scale of the body along the X axis

public scale_y: Number source

The scale of the body along the Y axis

Public Methods

public draw(context: CanvasRenderingContext2D) source

Draws the polygon to a CanvasRenderingContext2D's current path

Params:

NameTypeAttributeDescription
context CanvasRenderingContext2D

The context to add the shape to

public setPoints(new_points: Array<Number[]>) source

Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated.

Params:

NameTypeAttributeDescription
new_points Array<Number[]>

An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]

================================================ FILE: docs/class/src/modules/Result.mjs~Result.html ================================================ Result | collisions
Home Reference Source
public class | source

Result

An object used to collect the detailed results of a collision test

Note: It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory

Constructor Summary

Public Constructor
public

Member Summary

Public Members
public

The source body tested

public

True if A is completely contained within B

public

The target body tested against

public

True if a collision was detected

public

The magnitude of the shortest axis of overlap

public

The X direction of the shortest axis of overlap

public

The Y direction of the shortest axis of overlap

Public Constructors

public constructor() source

Public Members

public a: Circle | Polygon | Point source

The source body tested

public a_in_b: Boolean source

True if A is completely contained within B

public b: Circle | Polygon | Point source

The target body tested against

public collision: Boolean source

True if a collision was detected

public overlap: Number source

The magnitude of the shortest axis of overlap

public overlap_x: Number source

The X direction of the shortest axis of overlap

public overlap_y: Number source

The Y direction of the shortest axis of overlap

================================================ FILE: docs/coverage.json ================================================ { "coverage": "100%", "expectCount": 110, "actualCount": 110, "files": { "src/Collisions.mjs": { "expectCount": 15, "actualCount": 15, "undocumentLines": [] }, "src/modules/BVH.mjs": { "expectCount": 11, "actualCount": 11, "undocumentLines": [] }, "src/modules/BVHBranch.mjs": { "expectCount": 15, "actualCount": 15, "undocumentLines": [] }, "src/modules/Body.mjs": { "expectCount": 21, "actualCount": 21, "undocumentLines": [] }, "src/modules/Circle.mjs": { "expectCount": 5, "actualCount": 5, "undocumentLines": [] }, "src/modules/Point.mjs": { "expectCount": 3, "actualCount": 3, "undocumentLines": [] }, "src/modules/Polygon.mjs": { "expectCount": 25, "actualCount": 25, "undocumentLines": [] }, "src/modules/Result.mjs": { "expectCount": 9, "actualCount": 9, "undocumentLines": [] }, "src/modules/SAT.mjs": { "expectCount": 6, "actualCount": 6, "undocumentLines": [] } } } ================================================ FILE: docs/css/github.css ================================================ /* github markdown */ .github-markdown { font-size: 16px; } .github-markdown h1, .github-markdown h2, .github-markdown h3, .github-markdown h4, .github-markdown h5 { margin-top: 1em; margin-bottom: 16px; font-weight: bold; padding: 0; } .github-markdown h1:nth-of-type(1) { margin-top: 0; } .github-markdown h1 { font-size: 2em; padding-bottom: 0.3em; } .github-markdown h2 { font-size: 1.75em; padding-bottom: 0.3em; } .github-markdown h3 { font-size: 1.5em; } .github-markdown h4 { font-size: 1.25em; } .github-markdown h5 { font-size: 1em; } .github-markdown ul, .github-markdown ol { padding-left: 2em; } .github-markdown pre > code { font-size: 0.85em; } .github-markdown table { margin-bottom: 1em; border-collapse: collapse; border-spacing: 0; } .github-markdown table tr { background-color: #fff; border-top: 1px solid #ccc; } .github-markdown table th, .github-markdown table td { padding: 6px 13px; border: 1px solid #ddd; } .github-markdown table tr:nth-child(2n) { background-color: #f8f8f8; } .github-markdown hr { border-right: 0; border-bottom: 1px solid #e5e5e5; border-left: 0; border-top: 0; } /** badge(.svg) does not have border */ .github-markdown img:not([src*=".svg"]) { max-width: 100%; box-shadow: 1px 1px 1px rgba(0,0,0,0.5); } ================================================ FILE: docs/css/identifiers.css ================================================ .identifiers-wrap { display: flex; align-items: flex-start; } .identifier-dir-tree { background: #fff; border: solid 1px #ddd; border-radius: 0.25em; top: 52px; position: -webkit-sticky; position: sticky; max-height: calc(100vh - 155px); overflow-y: scroll; min-width: 200px; margin-left: 1em; } .identifier-dir-tree-header { padding: 0.5em; background-color: #fafafa; border-bottom: solid 1px #ddd; } .identifier-dir-tree-content { padding: 0 0.5em 0; } .identifier-dir-tree-content > div { padding-top: 0.25em; padding-bottom: 0.25em; } .identifier-dir-tree-content a { color: inherit; } ================================================ FILE: docs/css/manual.css ================================================ .github-markdown .manual-toc { padding-left: 0; } .manual-index .manual-cards { display: flex; flex-wrap: wrap; } .manual-index .manual-card-wrap { width: 280px; padding: 10px 20px 10px 0; box-sizing: border-box; } .manual-index .manual-card-wrap > h1 { margin: 0; font-size: 1em; font-weight: 600; padding: 0.2em 0 0.2em 0.5em; border-radius: 0.1em 0.1em 0 0; border: none; } .manual-index .manual-card-wrap > h1 span { color: #555; } .manual-index .manual-card { height: 200px; overflow: hidden; border: solid 1px rgba(230, 230, 230, 0.84); border-radius: 0 0 0.1em 0.1em; padding: 8px; position: relative; } .manual-index .manual-card > div { transform: scale(0.4); transform-origin: 0 0; width: 250%; } .manual-index .manual-card > a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(210, 210, 210, 0.1); } .manual-index .manual-card > a:hover { background: none; } .manual-index .manual-badge { margin: 0; } .manual-index .manual-user-index { margin-bottom: 1em; border-bottom: solid 1px #ddd; } .manual-root .navigation { padding-left: 4px; margin-top: 4px; } .navigation .manual-toc-root > div { padding-left: 0.25em; padding-right: 0.75em; } .github-markdown .manual-toc-title a { color: inherit; } .manual-breadcrumb-list { font-size: 0.8em; margin-bottom: 1em; } .manual-toc-title a:hover { color: #039BE5; } .manual-toc li { margin: 0.75em 0; list-style-type: none; } .navigation .manual-toc [class^="indent-h"] a { color: #666; } .navigation .manual-toc .indent-h1 a { color: #555; font-weight: 600; display: block; } .manual-toc .indent-h1 { display: block; margin: 0.4em 0 0 0.25em; padding: 0.2em 0 0.2em 0.5em; border-radius: 0.1em; } .manual-root .navigation .manual-toc li:not(.indent-h1) { margin-top: 0.5em; } .manual-toc .indent-h2 { display: none; margin-left: 1.5em; } .manual-toc .indent-h3 { display: none; margin-left: 2.5em; } .manual-toc .indent-h4 { display: none; margin-left: 3.5em; } .manual-toc .indent-h5 { display: none; margin-left: 4.5em; } .manual-nav li { margin: 0.75em 0; } ================================================ FILE: docs/css/prettify-tomorrow.css ================================================ /* Tomorrow Theme */ /* Original theme - https://github.com/chriskempson/tomorrow-theme */ /* Pretty printing styles. Used with prettify.js. */ /* SPAN elements with the classes below are added by prettyprint. */ /* plain text */ .pln { color: #4d4d4c; } @media screen { /* string content */ .str { color: #718c00; } /* a keyword */ .kwd { color: #8959a8; } /* a comment */ .com { color: #8e908c; } /* a type name */ .typ { color: #4271ae; } /* a literal value */ .lit { color: #f5871f; } /* punctuation */ .pun { color: #4d4d4c; } /* lisp open bracket */ .opn { color: #4d4d4c; } /* lisp close bracket */ .clo { color: #4d4d4c; } /* a markup tag name */ .tag { color: #c82829; } /* a markup attribute name */ .atn { color: #f5871f; } /* a markup attribute value */ .atv { color: #3e999f; } /* a declaration */ .dec { color: #f5871f; } /* a variable name */ .var { color: #c82829; } /* a function name */ .fun { color: #4271ae; } } /* Use higher contrast and text-weight for printable form. */ @media print, projection { .str { color: #060; } .kwd { color: #006; font-weight: bold; } .com { color: #600; font-style: italic; } .typ { color: #404; font-weight: bold; } .lit { color: #044; } .pun, .opn, .clo { color: #440; } .tag { color: #006; font-weight: bold; } .atn { color: #404; } .atv { color: #060; } } /* Style */ /* pre.prettyprint { background: white; font-family: Consolas, Monaco, 'Andale Mono', monospace; font-size: 12px; line-height: 1.5; border: 1px solid #ccc; padding: 10px; } */ /* Specify class=linenums on a pre to get line numbering */ ol.linenums { margin-top: 0; margin-bottom: 0; } /* IE indents via margin-left */ li.L0, li.L1, li.L2, li.L3, li.L4, li.L5, li.L6, li.L7, li.L8, li.L9 { /* */ } /* Alternate shading for lines */ li.L1, li.L3, li.L5, li.L7, li.L9 { /* */ } ================================================ FILE: docs/css/search.css ================================================ /* search box */ .search-box { position: absolute; top: 10px; right: 50px; padding-right: 8px; padding-bottom: 10px; line-height: normal; font-size: 12px; } .search-box img { width: 20px; vertical-align: top; } .search-input { display: inline; visibility: hidden; width: 0; padding: 2px; height: 1.5em; outline: none; background: transparent; border: 1px #0af; border-style: none none solid none; vertical-align: bottom; } .search-input-edge { display: none; width: 1px; height: 5px; background-color: #0af; vertical-align: bottom; } .search-result { position: absolute; display: none; height: 600px; width: 100%; padding: 0; margin-top: 5px; margin-left: 24px; background: white; box-shadow: 1px 1px 4px rgb(0,0,0); white-space: nowrap; overflow-y: scroll; } .search-result-import-path { color: #aaa; font-size: 12px; } .search-result li { list-style: none; padding: 2px 4px; } .search-result li a { display: block; } .search-result li.selected { background: #ddd; } .search-result li.search-separator { background: rgb(37, 138, 175); color: white; } .search-box.active .search-input { visibility: visible; transition: width 0.2s ease-out; width: 300px; } .search-box.active .search-input-edge { display: inline-block; } ================================================ FILE: docs/css/source.css ================================================ table.files-summary { width: 100%; margin: 10px 0; border-spacing: 0; border: 0; border-collapse: collapse; text-align: right; } table.files-summary tbody tr:hover { background: #eee; } table.files-summary td:first-child, table.files-summary td:nth-of-type(2) { text-align: left; } table.files-summary[data-use-coverage="false"] td.coverage { display: none; } table.files-summary thead { background: #fafafa; } table.files-summary td { border: solid 1px #ddd; padding: 4px 10px; vertical-align: top; } table.files-summary td.identifiers > span { display: block; margin-top: 4px; } table.files-summary td.identifiers > span:first-child { margin-top: 0; } table.files-summary .coverage-count { font-size: 12px; color: #aaa; display: inline-block; min-width: 40px; } .total-coverage-count { position: relative; bottom: 2px; font-size: 12px; color: #666; font-weight: 500; padding-left: 5px; } ================================================ FILE: docs/css/style.css ================================================ @import url(https://fonts.googleapis.com/css?family=Roboto:400,300,700); @import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400italic,600,700); @import url(./manual.css); @import url(./source.css); @import url(./test.css); @import url(./identifiers.css); @import url(./github.css); @import url(./search.css); * { margin: 0; padding: 0; text-decoration: none; } html { font-family: 'Source Sans Pro', 'Roboto', sans-serif; overflow: auto; /*font-size: 14px;*/ /*color: #4d4e53;*/ /*color: rgba(0, 0, 0, .68);*/ color: #555; background-color: #fff; } a { /*color: #0095dd;*/ /*color:rgb(37, 138, 175);*/ color: #039BE5; } code a:hover { text-decoration: underline; } ul, ol { padding-left: 20px; } ul li { list-style: disc; margin: 4px 0; } ol li { margin: 4px 0; } h1 { margin-bottom: 10px; font-size: 34px; font-weight: 300; border-bottom: solid 1px #ddd; } h2 { margin-top: 24px; margin-bottom: 10px; font-size: 20px; border-bottom: solid 1px #ddd; font-weight: 300; } h3 { position: relative; font-size: 16px; margin-bottom: 12px; padding: 4px; font-weight: 300; } details { cursor: pointer; } del { text-decoration: line-through; } p { margin-bottom: 15px; line-height: 1.5; } code { font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; } pre > code { display: block; } pre.prettyprint, pre > code { padding: 4px; margin: 1em 0; background-color: #f5f5f5; border-radius: 3px; } pre.prettyprint > code { margin: 0; } p > code, li > code { padding: 0.2em 0.5em; margin: 0; font-size: 85%; background-color: rgba(0,0,0,0.04); border-radius: 3px; } .code { font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13px; } .import-path pre.prettyprint, .import-path pre.prettyprint code { margin: 0; padding: 0; border: none; background: white; } .layout-container { /*display: flex;*/ /*flex-direction: row;*/ /*justify-content: flex-start;*/ /*align-items: stretch;*/ } .layout-container > header { display: flex; height: 40px; line-height: 40px; font-size: 16px; padding: 0 10px; margin: 0; position: fixed; width: 100%; z-index: 1; background-color: #fafafa; top: 0; border-bottom: solid 1px #ddd; } .layout-container > header > a{ margin: 0 5px; color: #444; } .layout-container > header > a.repo-url-github { font-size: 0; display: inline-block; width: 20px; height: 38px; background: url("../image/github.png") no-repeat center; background-size: 20px; vertical-align: top; } .navigation { position: fixed; top: 0; left: 0; box-sizing: border-box; width: 250px; height: 100%; padding-top: 40px; padding-left: 15px; padding-bottom: 2em; margin-top:1em; overflow-x: scroll; box-shadow: rgba(255, 255, 255, 1) -1px 0 0 inset; border-right: 1px solid #ddd; } .navigation ul { padding: 0; } .navigation li { list-style: none; margin: 4px 0; white-space: nowrap; } .navigation li a { color: #666; } .navigation .nav-dir-path { display: block; margin-top: 0.7em; margin-bottom: 0.25em; font-weight: 600; } .kind-class, .kind-interface, .kind-function, .kind-typedef, .kind-variable, .kind-external { margin-left: 0.75em; width: 1.2em; height: 1.2em; display: inline-block; text-align: center; border-radius: 0.2em; margin-right: 0.2em; font-weight: bold; line-height: 1.2em; } .kind-class { color: #009800; background-color: #bfe5bf; } .kind-interface { color: #fbca04; background-color: #fef2c0; } .kind-function { color: #6b0090; background-color: #d6bdde; } .kind-variable { color: #eb6420; background-color: #fad8c7; } .kind-typedef { color: #db001e; background-color: #edbec3; } .kind-external { color: #0738c3; background-color: #bbcbea; } .summary span[class^="kind-"] { margin-left: 0; } h1 .version, h1 .url a { font-size: 14px; color: #aaa; } .content { margin-top: 40px; margin-left: 250px; padding: 10px 50px 10px 20px; } .header-notice { font-size: 14px; color: #aaa; margin: 0; } .expression-extends .prettyprint { margin-left: 10px; background: white; } .extends-chain { border-bottom: 1px solid#ddd; padding-bottom: 10px; margin-bottom: 10px; } .extends-chain span:nth-of-type(1) { padding-left: 10px; } .extends-chain > div { margin: 5px 0; } .description table { font-size: 14px; border-spacing: 0; border: 0; border-collapse: collapse; } .description thead { background: #999; color: white; } .description table td, .description table th { border: solid 1px #ddd; padding: 4px; font-weight: normal; } .flat-list ul { padding-left: 0; } .flat-list li { display: inline; list-style: none; } table.summary { width: 100%; margin: 10px 0; border-spacing: 0; border: 0; border-collapse: collapse; } table.summary thead { background: #fafafa; } table.summary td { border: solid 1px #ddd; padding: 4px 10px; } table.summary tbody td:nth-child(1) { text-align: right; white-space: nowrap; min-width: 64px; vertical-align: top; } table.summary tbody td:nth-child(2) { width: 100%; border-right: none; } table.summary tbody td:nth-child(3) { white-space: nowrap; border-left: none; vertical-align: top; } table.summary td > div:nth-of-type(2) { padding-top: 4px; padding-left: 15px; } table.summary td p { margin-bottom: 0; } .inherited-summary thead td { padding-left: 2px; } .inherited-summary thead a { color: white; } .inherited-summary .summary tbody { display: none; } .inherited-summary .summary .toggle { padding: 0 4px; font-size: 12px; cursor: pointer; } .inherited-summary .summary .toggle.closed:before { content: "▶"; } .inherited-summary .summary .toggle.opened:before { content: "▼"; } .member, .method { margin-bottom: 24px; } table.params { width: 100%; margin: 10px 0; border-spacing: 0; border: 0; border-collapse: collapse; } table.params thead { background: #eee; color: #aaa; } table.params td { padding: 4px; border: solid 1px #ddd; } table.params td p { margin: 0; } .content .detail > * { margin: 15px 0; } .content .detail > h3 { color: black; background-color: #f0f0f0; } .content .detail > div { margin-left: 10px; } .content .detail > .import-path { margin-top: -8px; } .content .detail + .detail { margin-top: 30px; } .content .detail .throw td:first-child { padding-right: 10px; } .content .detail h4 + :not(pre) { padding-left: 0; margin-left: 10px; } .content .detail h4 + ul li { list-style: none; } .return-param * { display: inline; } .argument-params { margin-bottom: 20px; } .return-type { padding-right: 10px; font-weight: normal; } .return-desc { margin-left: 10px; margin-top: 4px; } .return-desc p { margin: 0; } .deprecated, .experimental, .instance-docs { border-left: solid 5px orange; padding-left: 4px; margin: 4px 0; } tr.listen p, tr.throw p, tr.emit p{ margin-bottom: 10px; } .version, .since { color: #aaa; } h3 .right-info { position: absolute; right: 4px; font-size: 14px; } .version + .since:before { content: '| '; } .see { margin-top: 10px; } .see h4 { margin: 4px 0; } .content .detail h4 + .example-doc { margin: 6px 0; } .example-caption { position: relative; bottom: -1px; display: inline-block; padding: 4px; font-style: italic; background-color: #f5f5f5; font-weight: bold; border-radius: 3px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } .example-caption + pre.source-code { margin-top: 0; border-top-left-radius: 0; } footer, .file-footer { text-align: right; font-style: italic; font-weight: 100; font-size: 13px; margin-right: 50px; margin-left: 270px; border-top: 1px solid #ddd; padding-top: 30px; margin-top: 20px; padding-bottom: 10px; } footer img { width: 24px; vertical-align: middle; padding-left: 4px; position: relative; top: -3px; opacity: 0.6; } pre.source-code { padding: 4px; } pre.raw-source-code > code { padding: 0; margin: 0; font-size: 12px; background: #fff; border: solid 1px #ddd; line-height: 1.5; } pre.raw-source-code > code > ol { counter-reset:number; list-style:none; margin:0; padding:0; overflow: hidden; } pre.raw-source-code > code > ol li:before { counter-increment: number; content: counter(number); display: inline-block; min-width: 3em; color: #aaa; text-align: right; padding-right: 1em; } pre.source-code.line-number { padding: 0; } pre.source-code ol { background: #eee; padding-left: 40px; } pre.source-code li { background: white; padding-left: 4px; list-style: decimal; margin: 0; } pre.source-code.line-number li.active { background: rgb(255, 255, 150) !important; } pre.source-code.line-number li.error-line { background: #ffb8bf; } .inner-link-active { /*background: rgb(255, 255, 150) !important;*/ background: #039BE5 !important; color: #fff !important; padding-left: 0.1em !important; } .inner-link-active a { color: inherit; } ================================================ FILE: docs/css/test.css ================================================ table.test-summary thead { background: #fafafa; } table.test-summary thead .test-description { width: 50%; } table.test-summary { width: 100%; margin: 10px 0; border-spacing: 0; border: 0; border-collapse: collapse; } table.test-summary thead .test-count { width: 3em; } table.test-summary tbody tr:hover { background-color: #eee; } table.test-summary td { border: solid 1px #ddd; padding: 4px 10px; vertical-align: top; } table.test-summary td p { margin: 0; } table.test-summary tr.test-interface .toggle { display: inline-block; float: left; margin-right: 4px; cursor: pointer; font-size: 0.8em; padding-top: 0.25em; } table.test-summary tr.test-interface .toggle.opened:before { content: '▼'; } table.test-summary tr.test-interface .toggle.closed:before { content: '▶'; } table.test-summary .test-target > span { display: block; margin-top: 4px; } table.test-summary .test-target > span:first-child { margin-top: 0; } ================================================ FILE: docs/demo/index.html ================================================ Collisions - Collision detection for circles, polygons, and points ================================================ FILE: docs/demo/index.js ================================================ /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 5); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Collisions; }); /* unused harmony export Collisions */ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__modules_BVH_mjs__ = __webpack_require__(7); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__modules_Circle_mjs__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__modules_Polygon_mjs__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__modules_Point_mjs__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__modules_Result_mjs__ = __webpack_require__(2); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__modules_SAT_mjs__ = __webpack_require__(3); /* unused harmony reexport Result */ /* unused harmony reexport Circle */ /* unused harmony reexport Polygon */ /* unused harmony reexport Point */ /** * A collision system used to track bodies in order to improve collision detection performance * @class */ class Collisions { /** * @constructor */ constructor() { /** @private */ this._bvh = new __WEBPACK_IMPORTED_MODULE_0__modules_BVH_mjs__["a" /* default */](); } /** * Creates a {@link Circle} and inserts it into the collision system * @param {Number} [x = 0] The starting X coordinate * @param {Number} [y = 0] The starting Y coordinate * @param {Number} [radius = 0] The radius * @param {Number} [scale = 1] The scale * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions * @returns {Circle} */ createCircle(x = 0, y = 0, radius = 0, scale = 1, padding = 0) { const body = new __WEBPACK_IMPORTED_MODULE_1__modules_Circle_mjs__["a" /* default */](x, y, radius, scale, padding); this._bvh.insert(body); return body; } /** * Creates a {@link Polygon} and inserts it into the collision system * @param {Number} [x = 0] The starting X coordinate * @param {Number} [y = 0] The starting Y coordinate * @param {Array} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...] * @param {Number} [angle = 0] The starting rotation in radians * @param {Number} [scale_x = 1] The starting scale along the X axis * @param {Number} [scale_y = 1] The starting scale long the Y axis * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions * @returns {Polygon} */ createPolygon(x = 0, y = 0, points = [[0, 0]], angle = 0, scale_x = 1, scale_y = 1, padding = 0) { const body = new __WEBPACK_IMPORTED_MODULE_2__modules_Polygon_mjs__["a" /* default */](x, y, points, angle, scale_x, scale_y, padding); this._bvh.insert(body); return body; } /** * Creates a {@link Point} and inserts it into the collision system * @param {Number} [x = 0] The starting X coordinate * @param {Number} [y = 0] The starting Y coordinate * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions * @returns {Point} */ createPoint(x = 0, y = 0, padding = 0) { const body = new __WEBPACK_IMPORTED_MODULE_3__modules_Point_mjs__["a" /* default */](x, y, padding); this._bvh.insert(body); return body; } /** * Creates a {@link Result} used to collect the detailed results of a collision test */ createResult() { return new __WEBPACK_IMPORTED_MODULE_4__modules_Result_mjs__["a" /* default */](); } /** * Creates a Result used to collect the detailed results of a collision test */ static createResult() { return new __WEBPACK_IMPORTED_MODULE_4__modules_Result_mjs__["a" /* default */](); } /** * Inserts bodies into the collision system * @param {...Circle|...Polygon|...Point} bodies */ insert(...bodies) { for(const body of bodies) { this._bvh.insert(body, false); } return this; } /** * Removes bodies from the collision system * @param {...Circle|...Polygon|...Point} bodies */ remove(...bodies) { for(const body of bodies) { this._bvh.remove(body, false); } return this; } /** * Updates the collision system. This should be called before any collisions are tested. */ update() { this._bvh.update(); return this; } /** * Draws the bodies within the system to a CanvasRenderingContext2D's current path * @param {CanvasRenderingContext2D} context The context to draw to */ draw(context) { return this._bvh.draw(context); } /** * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies. * @param {CanvasRenderingContext2D} context The context to draw to */ drawBVH(context) { return this._bvh.drawBVH(context); } /** * Returns a list of potential collisions for a body * @param {Circle|Polygon|Point} body The body to test for potential collisions against * @returns {Array} */ potentials(body) { return this._bvh.potentials(body); } /** * Determines if two bodies are colliding * @param {Circle|Polygon|Point} target The target body to test against * @param {Result} [result = null] A Result object on which to store information about the collision * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic) * @returns {Boolean} */ collides(source, target, result = null, aabb = true) { return Object(__WEBPACK_IMPORTED_MODULE_5__modules_SAT_mjs__["a" /* default */])(source, target, result, aabb); } }; /***/ }), /* 1 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Result_mjs__ = __webpack_require__(2); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__SAT_mjs__ = __webpack_require__(3); /** * The base class for bodies used to detect collisions * @class * @protected */ class Body { /** * @constructor * @param {Number} [x = 0] The starting X coordinate * @param {Number} [y = 0] The starting Y coordinate * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions */ constructor(x = 0, y = 0, padding = 0) { /** * @desc The X coordinate of the body * @type {Number} */ this.x = x; /** * @desc The Y coordinate of the body * @type {Number} */ this.y = y; /** * @desc The amount to pad the bounding volume when testing for potential collisions * @type {Number} */ this.padding = padding; /** @private */ this._circle = false; /** @private */ this._polygon = false; /** @private */ this._point = false; /** @private */ this._bvh = null; /** @private */ this._bvh_parent = null; /** @private */ this._bvh_branch = false; /** @private */ this._bvh_padding = padding; /** @private */ this._bvh_min_x = 0; /** @private */ this._bvh_min_y = 0; /** @private */ this._bvh_max_x = 0; /** @private */ this._bvh_max_y = 0; } /** * Determines if the body is colliding with another body * @param {Circle|Polygon|Point} target The target body to test against * @param {Result} [result = null] A Result object on which to store information about the collision * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic) * @returns {Boolean} */ collides(target, result = null, aabb = true) { return Object(__WEBPACK_IMPORTED_MODULE_1__SAT_mjs__["a" /* default */])(this, target, result, aabb); } /** * Returns a list of potential collisions * @returns {Array} */ potentials() { const bvh = this._bvh; if(bvh === null) { throw new Error('Body does not belong to a collision system'); } return bvh.potentials(this); } /** * Removes the body from its current collision system */ remove() { const bvh = this._bvh; if(bvh) { bvh.remove(this, false); } } /** * Creates a {@link Result} used to collect the detailed results of a collision test */ createResult() { return new __WEBPACK_IMPORTED_MODULE_0__Result_mjs__["a" /* default */](); } /** * Creates a Result used to collect the detailed results of a collision test */ static createResult() { return new __WEBPACK_IMPORTED_MODULE_0__Result_mjs__["a" /* default */](); } } /* harmony export (immutable) */ __webpack_exports__["a"] = Body; ; /***/ }), /* 2 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /** * An object used to collect the detailed results of a collision test * * > **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory * @class */ class Result { /** * @constructor */ constructor() { /** * @desc True if a collision was detected * @type {Boolean} */ this.collision = false; /** * @desc The source body tested * @type {Circle|Polygon|Point} */ this.a = null; /** * @desc The target body tested against * @type {Circle|Polygon|Point} */ this.b = null; /** * @desc True if A is completely contained within B * @type {Boolean} */ this.a_in_b = false; /** * @desc True if B is completely contained within A * @type {Boolean} */ this.a_in_b = false; /** * @desc The magnitude of the shortest axis of overlap * @type {Number} */ this.overlap = 0; /** * @desc The X direction of the shortest axis of overlap * @type {Number} */ this.overlap_x = 0; /** * @desc The Y direction of the shortest axis of overlap * @type {Number} */ this.overlap_y = 0; } } /* harmony export (immutable) */ __webpack_exports__["a"] = Result; ; /***/ }), /* 3 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (immutable) */ __webpack_exports__["a"] = SAT; /** * Determines if two bodies are colliding using the Separating Axis Theorem * @private * @param {Circle|Polygon|Point} a The source body to test * @param {Circle|Polygon|Point} b The target body to test against * @param {Result} [result = null] A Result object on which to store information about the collision * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own collision heuristic) * @returns {Boolean} */ function SAT(a, b, result = null, aabb = true) { const a_polygon = a._polygon; const b_polygon = b._polygon; let collision = false; if(result) { result.a = a; result.b = b; result.a_in_b = true; result.b_in_a = true; result.overlap = null; result.overlap_x = 0; result.overlap_y = 0; } if(a_polygon) { if( a._dirty_coords || a.x !== a._x || a.y !== a._y || a.angle !== a._angle || a.scale_x !== a._scale_x || a.scale_y !== a._scale_y ) { a._calculateCoords(); } } if(b_polygon) { if( b._dirty_coords || b.x !== b._x || b.y !== b._y || b.angle !== b._angle || b.scale_x !== b._scale_x || b.scale_y !== b._scale_y ) { b._calculateCoords(); } } if(!aabb || aabbAABB(a, b)) { if(a_polygon && a._dirty_normals) { a._calculateNormals(); } if(b_polygon && b._dirty_normals) { b._calculateNormals(); } collision = ( a_polygon && b_polygon ? polygonPolygon(a, b, result) : a_polygon ? polygonCircle(a, b, result, false) : b_polygon ? polygonCircle(b, a, result, true) : circleCircle(a, b, result) ); } if(result) { result.collision = collision; } return collision; }; /** * Determines if two bodies' axis aligned bounding boxes are colliding * @param {Circle|Polygon|Point} a The source body to test * @param {Circle|Polygon|Point} b The target body to test against */ function aabbAABB(a, b) { const a_polygon = a._polygon; const a_x = a_polygon ? 0 : a.x; const a_y = a_polygon ? 0 : a.y; const a_radius = a_polygon ? 0 : a.radius * a.scale; const a_min_x = a_polygon ? a._min_x : a_x - a_radius; const a_min_y = a_polygon ? a._min_y : a_y - a_radius; const a_max_x = a_polygon ? a._max_x : a_x + a_radius; const a_max_y = a_polygon ? a._max_y : a_y + a_radius; const b_polygon = b._polygon; const b_x = b_polygon ? 0 : b.x; const b_y = b_polygon ? 0 : b.y; const b_radius = b_polygon ? 0 : b.radius * b.scale; const b_min_x = b_polygon ? b._min_x : b_x - b_radius; const b_min_y = b_polygon ? b._min_y : b_y - b_radius; const b_max_x = b_polygon ? b._max_x : b_x + b_radius; const b_max_y = b_polygon ? b._max_y : b_y + b_radius; return a_min_x < b_max_x && a_min_y < b_max_y && a_max_x > b_min_x && a_max_y > b_min_y; } /** * Determines if two polygons are colliding * @param {Polygon} a The source polygon to test * @param {Polygon} b The target polygon to test against * @param {Result} [result = null] A Result object on which to store information about the collision * @returns {Boolean} */ function polygonPolygon(a, b, result = null) { const a_count = a._coords.length; const b_count = b._coords.length; // Handle points specially if(a_count === 2 && b_count === 2) { const a_coords = a._coords; const b_coords = b._coords; if(result) { result.overlap = 0; } return a_coords[0] === b_coords[0] && a_coords[1] === b_coords[1]; } const a_coords = a._coords; const b_coords = b._coords; const a_normals = a._normals; const b_normals = b._normals; if(a_count > 2) { for(let ix = 0, iy = 1; ix < a_count; ix += 2, iy += 2) { if(separatingAxis(a_coords, b_coords, a_normals[ix], a_normals[iy], result)) { return false; } } } if(b_count > 2) { for(let ix = 0, iy = 1; ix < b_count; ix += 2, iy += 2) { if(separatingAxis(a_coords, b_coords, b_normals[ix], b_normals[iy], result)) { return false; } } } return true; } /** * Determines if a polygon and a circle are colliding * @param {Polygon} a The source polygon to test * @param {Circle} b The target circle to test against * @param {Result} [result = null] A Result object on which to store information about the collision * @param {Boolean} [reverse = false] Set to true to reverse a and b in the result parameter when testing circle->polygon instead of polygon->circle * @returns {Boolean} */ function polygonCircle(a, b, result = null, reverse = false) { const a_coords = a._coords; const a_edges = a._edges; const a_normals = a._normals; const b_x = b.x; const b_y = b.y; const b_radius = b.radius * b.scale; const b_radius2 = b_radius * 2; const radius_squared = b_radius * b_radius; const count = a_coords.length; let a_in_b = true; let b_in_a = true; let overlap = null; let overlap_x = 0; let overlap_y = 0; // Handle points specially if(count === 2) { const coord_x = b_x - a_coords[0]; const coord_y = b_y - a_coords[1]; const length_squared = coord_x * coord_x + coord_y * coord_y; if(length_squared > radius_squared) { return false; } if(result) { const length = Math.sqrt(length_squared); overlap = b_radius - length; overlap_x = coord_x / length; overlap_y = coord_y / length; b_in_a = false; } } else { for(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) { const coord_x = b_x - a_coords[ix]; const coord_y = b_y - a_coords[iy]; const edge_x = a_edges[ix]; const edge_y = a_edges[iy]; const dot = coord_x * edge_x + coord_y * edge_y; const region = dot < 0 ? -1 : dot > edge_x * edge_x + edge_y * edge_y ? 1 : 0; let tmp_overlapping = false; let tmp_overlap = 0; let tmp_overlap_x = 0; let tmp_overlap_y = 0; if(result && a_in_b && coord_x * coord_x + coord_y * coord_y > radius_squared) { a_in_b = false; } if(region) { const left = region === -1; const other_x = left ? (ix === 0 ? count - 2 : ix - 2) : (ix === count - 2 ? 0 : ix + 2); const other_y = other_x + 1; const coord2_x = b_x - a_coords[other_x]; const coord2_y = b_y - a_coords[other_y]; const edge2_x = a_edges[other_x]; const edge2_y = a_edges[other_y]; const dot2 = coord2_x * edge2_x + coord2_y * edge2_y; const region2 = dot2 < 0 ? -1 : dot2 > edge2_x * edge2_x + edge2_y * edge2_y ? 1 : 0; if(region2 === -region) { const target_x = left ? coord_x : coord2_x; const target_y = left ? coord_y : coord2_y; const length_squared = target_x * target_x + target_y * target_y; if(length_squared > radius_squared) { return false; } if(result) { const length = Math.sqrt(length_squared); tmp_overlapping = true; tmp_overlap = b_radius - length; tmp_overlap_x = target_x / length; tmp_overlap_y = target_y / length; b_in_a = false; } } } else { const normal_x = a_normals[ix]; const normal_y = a_normals[iy]; const length = coord_x * normal_x + coord_y * normal_y; const absolute_length = length < 0 ? -length : length; if(length > 0 && absolute_length > b_radius) { return false; } if(result) { tmp_overlapping = true; tmp_overlap = b_radius - length; tmp_overlap_x = normal_x; tmp_overlap_y = normal_y; if(b_in_a && length >= 0 || tmp_overlap < b_radius2) { b_in_a = false; } } } if(tmp_overlapping && (overlap === null || overlap > tmp_overlap)) { overlap = tmp_overlap; overlap_x = tmp_overlap_x; overlap_y = tmp_overlap_y; } } } if(result) { result.a_in_b = reverse ? b_in_a : a_in_b; result.b_in_a = reverse ? a_in_b : b_in_a; result.overlap = overlap; result.overlap_x = reverse ? -overlap_x : overlap_x; result.overlap_y = reverse ? -overlap_y : overlap_y; } return true; } /** * Determines if two circles are colliding * @param {Circle} a The source circle to test * @param {Circle} b The target circle to test against * @param {Result} [result = null] A Result object on which to store information about the collision * @returns {Boolean} */ function circleCircle(a, b, result = null) { const a_radius = a.radius * a.scale; const b_radius = b.radius * b.scale; const difference_x = b.x - a.x; const difference_y = b.y - a.y; const radius_sum = a_radius + b_radius; const length_squared = difference_x * difference_x + difference_y * difference_y; if(length_squared > radius_sum * radius_sum) { return false; } if(result) { const length = Math.sqrt(length_squared); result.a_in_b = a_radius <= b_radius && length <= b_radius - a_radius; result.b_in_a = b_radius <= a_radius && length <= a_radius - b_radius; result.overlap = radius_sum - length; result.overlap_x = difference_x / length; result.overlap_y = difference_y / length; } return true; } /** * Determines if two polygons are separated by an axis * @param {Array} a_coords The coordinates of the polygon to test * @param {Array} b_coords The coordinates of the polygon to test against * @param {Number} x The X direction of the axis * @param {Number} y The Y direction of the axis * @param {Result} [result = null] A Result object on which to store information about the collision * @returns {Boolean} */ function separatingAxis(a_coords, b_coords, x, y, result = null) { const a_count = a_coords.length; const b_count = b_coords.length; if(!a_count || !b_count) { return true; } let a_start = null; let a_end = null; let b_start = null; let b_end = null; for(let ix = 0, iy = 1; ix < a_count; ix += 2, iy += 2) { const dot = a_coords[ix] * x + a_coords[iy] * y; if(a_start === null || a_start > dot) { a_start = dot; } if(a_end === null || a_end < dot) { a_end = dot; } } for(let ix = 0, iy = 1; ix < b_count; ix += 2, iy += 2) { const dot = b_coords[ix] * x + b_coords[iy] * y; if(b_start === null || b_start > dot) { b_start = dot; } if(b_end === null || b_end < dot) { b_end = dot; } } if(a_start > b_end || a_end < b_start) { return true; } if(result) { let overlap = 0; if(a_start < b_start) { result.a_in_b = false; if(a_end < b_end) { overlap = a_end - b_start; result.b_in_a = false; } else { const option1 = a_end - b_start; const option2 = b_end - a_start; overlap = option1 < option2 ? option1 : -option2; } } else { result.b_in_a = false; if(a_end > b_end) { overlap = a_start - b_end; result.a_in_b = false; } else { const option1 = a_end - b_start; const option2 = b_end - a_start; overlap = option1 < option2 ? option1 : -option2; } } const current_overlap = result.overlap; const absolute_overlap = overlap < 0 ? -overlap : overlap; if(current_overlap === null || current_overlap > absolute_overlap) { const sign = overlap < 0 ? -1 : 1; result.overlap = absolute_overlap; result.overlap_x = x * sign; result.overlap_y = y * sign; } } return false; } /***/ }), /* 4 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Body_mjs__ = __webpack_require__(1); /** * A polygon used to detect collisions * @class */ class Polygon extends __WEBPACK_IMPORTED_MODULE_0__Body_mjs__["a" /* default */] { /** * @constructor * @param {Number} [x = 0] The starting X coordinate * @param {Number} [y = 0] The starting Y coordinate * @param {Array} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...] * @param {Number} [angle = 0] The starting rotation in radians * @param {Number} [scale_x = 1] The starting scale along the X axis * @param {Number} [scale_y = 1] The starting scale long the Y axis * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions */ constructor(x = 0, y = 0, points = [], angle = 0, scale_x = 1, scale_y = 1, padding = 0) { super(x, y, padding); /** * @desc The angle of the body in radians * @type {Number} */ this.angle = angle; /** * @desc The scale of the body along the X axis * @type {Number} */ this.scale_x = scale_x; /** * @desc The scale of the body along the Y axis * @type {Number} */ this.scale_y = scale_y; /** @private */ this._polygon = true; /** @private */ this._x = x; /** @private */ this._y = y; /** @private */ this._angle = angle; /** @private */ this._scale_x = scale_x; /** @private */ this._scale_y = scale_y; /** @private */ this._min_x = 0; /** @private */ this._min_y = 0; /** @private */ this._max_x = 0; /** @private */ this._max_y = 0; /** @private */ this._points = null; /** @private */ this._coords = null; /** @private */ this._edges = null; /** @private */ this._normals = null; /** @private */ this._dirty_coords = true; /** @private */ this._dirty_normals = true; Polygon.prototype.setPoints.call(this, points); } /** * Draws the polygon to a CanvasRenderingContext2D's current path * @param {CanvasRenderingContext2D} context The context to add the shape to */ draw(context) { if( this._dirty_coords || this.x !== this._x || this.y !== this._y || this.angle !== this._angle || this.scale_x !== this._scale_x || this.scale_y !== this._scale_y ) { this._calculateCoords(); } const coords = this._coords; if(coords.length === 2) { context.moveTo(coords[0], coords[1]); context.arc(coords[0], coords[1], 1, 0, Math.PI * 2); } else { context.moveTo(coords[0], coords[1]); for(let i = 2; i < coords.length; i += 2) { context.lineTo(coords[i], coords[i + 1]); } if(coords.length > 4) { context.lineTo(coords[0], coords[1]); } } } /** * Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated. * @param {Array} new_points An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...] */ setPoints(new_points) { const count = new_points.length; this._points = new Float64Array(count * 2); this._coords = new Float64Array(count * 2); this._edges = new Float64Array(count * 2); this._normals = new Float64Array(count * 2); const points = this._points; for(let i = 0, ix = 0, iy = 1; i < count; ++i, ix += 2, iy += 2) { const new_point = new_points[i]; points[ix] = new_point[0]; points[iy] = new_point[1]; } this._dirty_coords = true; } /** * Calculates and caches the polygon's world coordinates based on its points, angle, and scale */ _calculateCoords() { const x = this.x; const y = this.y; const angle = this.angle; const scale_x = this.scale_x; const scale_y = this.scale_y; const points = this._points; const coords = this._coords; const count = points.length; let min_x; let max_x; let min_y; let max_y; for(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) { let coord_x = points[ix] * scale_x; let coord_y = points[iy] * scale_y; if(angle) { const cos = Math.cos(angle); const sin = Math.sin(angle); const tmp_x = coord_x; const tmp_y = coord_y; coord_x = tmp_x * cos - tmp_y * sin; coord_y = tmp_x * sin + tmp_y * cos; } coord_x += x; coord_y += y; coords[ix] = coord_x; coords[iy] = coord_y; if(ix === 0) { min_x = max_x = coord_x; min_y = max_y = coord_y; } else { if(coord_x < min_x) { min_x = coord_x; } else if(coord_x > max_x) { max_x = coord_x; } if(coord_y < min_y) { min_y = coord_y; } else if(coord_y > max_y) { max_y = coord_y; } } } this._x = x; this._y = y; this._angle = angle; this._scale_x = scale_x; this._scale_y = scale_y; this._min_x = min_x; this._min_y = min_y; this._max_x = max_x; this._max_y = max_y; this._dirty_coords = false; this._dirty_normals = true; } /** * Calculates the normals and edges of the polygon's sides */ _calculateNormals() { const coords = this._coords; const edges = this._edges; const normals = this._normals; const count = coords.length; for(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) { const next = ix + 2 < count ? ix + 2 : 0; const x = coords[next] - coords[ix]; const y = coords[next + 1] - coords[iy]; const length = x || y ? Math.sqrt(x * x + y * y) : 0; edges[ix] = x; edges[iy] = y; normals[ix] = length ? y / length : 0; normals[iy] = length ? -x / length : 0; } this._dirty_normals = false; } } /* harmony export (immutable) */ __webpack_exports__["a"] = Polygon; ; /***/ }), /* 5 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__examples_Tank_mjs__ = __webpack_require__(6); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__examples_Stress_mjs__ = __webpack_require__(11); let example; switch(window.location.search) { case '?stress': example = new __WEBPACK_IMPORTED_MODULE_1__examples_Stress_mjs__["a" /* default */](); break; default: example = new __WEBPACK_IMPORTED_MODULE_0__examples_Tank_mjs__["a" /* default */](); break; } document.body.appendChild(example.element); /***/ }), /* 6 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_Collisions_mjs__ = __webpack_require__(0); const width = 800; const height = 600; const result = __WEBPACK_IMPORTED_MODULE_0__src_Collisions_mjs__["a" /* default */].createResult(); class Tank { constructor() { const collisions = new __WEBPACK_IMPORTED_MODULE_0__src_Collisions_mjs__["a" /* default */](); this.element = document.createElement('div'); this.canvas = document.createElement('canvas'); this.context = this.canvas.getContext('2d'); this.collisions = collisions; this.bodies = []; this.canvas.width = width; this.canvas.height = height; this.player = null; this.up = false; this.down = false; this.left = false; this.right = false; this.element.innerHTML = `
W, S - Accelerate/Decelerate
A, D - Turn
`; const updateKeys = (e) => { const keydown = e.type === 'keydown'; const key = e.key.toLowerCase(); key === 'w' && (this.up = keydown); key === 's' && (this.down = keydown); key === 'a' && (this.left = keydown); key === 'd' && (this.right = keydown); }; document.addEventListener('keydown', updateKeys); document.addEventListener('keyup', updateKeys); this.bvh_checkbox = this.element.querySelector('#bvh'); this.element.appendChild(this.canvas); this.createPlayer(400, 300); this.createMap(); const frame = () => { this.update(); requestAnimationFrame(frame); }; frame(); } update() { this.handleInput(); this.processGameLogic(); this.handleCollisions(); this.render(); } handleInput() { this.up && (this.player.velocity += 0.1); this.down && (this.player.velocity -= 0.1); this.left && (this.player.angle -= 0.04); this.right && (this.player.angle += 0.04); } processGameLogic() { const x = Math.cos(this.player.angle); const y = Math.sin(this.player.angle); if(this.player.velocity > 0) { this.player.velocity -= 0.05; if(this.player.velocity > 3) { this.player.velocity = 3; } } else if(this.player.velocity < 0) { this.player.velocity += 0.05; if(this.player.velocity < -2) { this.player.velocity = -2; } } if(!Math.round(this.player.velocity * 100)) { this.player.velocity = 0; } if(this.player.velocity) { this.player.x += x * this.player.velocity; this.player.y += y * this.player.velocity; } } handleCollisions() { this.collisions.update(); const potentials = this.player.potentials(); // Negate any collisions for(const body of potentials) { if(this.player.collides(body, result)) { this.player.x -= result.overlap * result.overlap_x; this.player.y -= result.overlap * result.overlap_y; this.player.velocity *= 0.9 } } } render() { this.context.fillStyle = '#000000'; this.context.fillRect(0, 0, 800, 600); this.context.strokeStyle = '#FFFFFF'; this.context.beginPath(); this.collisions.draw(this.context); this.context.stroke(); if(this.bvh_checkbox.checked) { this.context.strokeStyle = '#00FF00'; this.context.beginPath(); this.collisions.drawBVH(this.context); this.context.stroke(); } } createPlayer(x, y) { const size = 15; this.player = this.collisions.createPolygon(x, y, [ [-20, -10], [20, -10], [20, 10], [-20, 10], ], 0.2); this.player.velocity = 0; } createMap() { // World bounds this.collisions.createPolygon(0, 0, [[0, 0], [width, 0]]); this.collisions.createPolygon(0, 0, [[width, 0], [width, height]]); this.collisions.createPolygon(0, 0, [[width, height], [0, height]]); this.collisions.createPolygon(0, 0, [[0, height], [0, 0]]); // Factory this.collisions.createPolygon(100, 100, [[-50, -50], [50, -50], [50, 50], [-50, 50],], 0.4); this.collisions.createPolygon(190, 105, [[-20, -20], [20, -20], [20, 20], [-20, 20],], 0.4); this.collisions.createCircle(170, 140, 8); this.collisions.createCircle(185, 155, 8); this.collisions.createCircle(165, 165, 8); this.collisions.createCircle(145, 165, 8); // Airstrip this.collisions.createPolygon(230, 50, [[-150, -30], [150, -30], [150, 30], [-150, 30],], 0.4); // HQ this.collisions.createPolygon(100, 500, [[-40, -50], [40, -50], [50, 50], [-50, 50],], 0.2); this.collisions.createCircle(180, 490, 20); this.collisions.createCircle(175, 540, 20); // Barracks this.collisions.createPolygon(400, 500, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 1.7); this.collisions.createPolygon(350, 494, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 1.7); // Mountains this.collisions.createPolygon(750, 0, [[0, 0], [-20, 100]]); this.collisions.createPolygon(750, 0, [[-20, 100], [30, 250]]); this.collisions.createPolygon(750, 0, [[30, 250], [20, 300]]); this.collisions.createPolygon(750, 0, [[20, 300], [-50, 320]]); this.collisions.createPolygon(750, 0, [[-50, 320], [-90, 500]]); this.collisions.createPolygon(750, 0, [[-90, 500], [-200, 600]]); // Lake this.collisions.createPolygon(550, 100, [ [-60, -20], [-20, -40], [30, -30], [60, 20], [40, 70], [10, 100], [-30, 110], [-80, 90], [-110, 50], [-100, 20], ]); } } /* harmony export (immutable) */ __webpack_exports__["a"] = Tank; function random(min, max) { return Math.floor(Math.random() * max) + min; } /***/ }), /* 7 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__BVHBranch_mjs__ = __webpack_require__(8); /** * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly * @class * @private */ class BVH { /** * @constructor */ constructor() { /** @private */ this._hierarchy = null; /** @private */ this._bodies = []; /** @private */ this._dirty_branches = []; } /** * Inserts a body into the BVH * @param {Circle|Polygon|Point} body The body to insert * @param {Boolean} [updating = false] Set to true if the body already exists in the BVH (used internally when updating the body's position) */ insert(body, updating = false) { if(!updating) { const bvh = body._bvh; if(bvh && bvh !== this) { throw new Error('Body belongs to another collision system'); } body._bvh = this; this._bodies.push(body); } const polygon = body._polygon; const body_x = body.x; const body_y = body.y; if(polygon) { if( body._dirty_coords || body.x !== body._x || body.y !== body._y || body.angle !== body._angle || body.scale_x !== body._scale_x || body.scale_y !== body._scale_y ) { body._calculateCoords(); } } const padding = body._bvh_padding; const radius = polygon ? 0 : body.radius * body.scale; const body_min_x = (polygon ? body._min_x : body_x - radius) - padding; const body_min_y = (polygon ? body._min_y : body_y - radius) - padding; const body_max_x = (polygon ? body._max_x : body_x + radius) + padding; const body_max_y = (polygon ? body._max_y : body_y + radius) + padding; body._bvh_min_x = body_min_x; body._bvh_min_y = body_min_y; body._bvh_max_x = body_max_x; body._bvh_max_y = body_max_y; let current = this._hierarchy; let sort = 0; if(!current) { this._hierarchy = body; } else { while(true) { // Branch if(current._bvh_branch) { const left = current._bvh_left; const left_min_y = left._bvh_min_y; const left_max_x = left._bvh_max_x; const left_max_y = left._bvh_max_y; const left_new_min_x = body_min_x < left._bvh_min_x ? body_min_x : left._bvh_min_x; const left_new_min_y = body_min_y < left_min_y ? body_min_y : left_min_y; const left_new_max_x = body_max_x > left_max_x ? body_max_x : left_max_x; const left_new_max_y = body_max_y > left_max_y ? body_max_y : left_max_y; const left_volume = (left_max_x - left._bvh_min_x) * (left_max_y - left_min_y); const left_new_volume = (left_new_max_x - left_new_min_x) * (left_new_max_y - left_new_min_y); const left_difference = left_new_volume - left_volume; const right = current._bvh_right; const right_min_x = right._bvh_min_x; const right_min_y = right._bvh_min_y; const right_max_x = right._bvh_max_x; const right_max_y = right._bvh_max_y; const right_new_min_x = body_min_x < right_min_x ? body_min_x : right_min_x; const right_new_min_y = body_min_y < right_min_y ? body_min_y : right_min_y; const right_new_max_x = body_max_x > right_max_x ? body_max_x : right_max_x; const right_new_max_y = body_max_y > right_max_y ? body_max_y : right_max_y; const right_volume = (right_max_x - right_min_x) * (right_max_y - right_min_y); const right_new_volume = (right_new_max_x - right_new_min_x) * (right_new_max_y - right_new_min_y); const right_difference = right_new_volume - right_volume; current._bvh_sort = sort++; current._bvh_min_x = left_new_min_x < right_new_min_x ? left_new_min_x : right_new_min_x; current._bvh_min_y = left_new_min_y < right_new_min_y ? left_new_min_y : right_new_min_y; current._bvh_max_x = left_new_max_x > right_new_max_x ? left_new_max_x : right_new_max_x; current._bvh_max_y = left_new_max_y > right_new_max_y ? left_new_max_y : right_new_max_y; current = left_difference <= right_difference ? left : right; } // Leaf else { const grandparent = current._bvh_parent; const parent_min_x = current._bvh_min_x; const parent_min_y = current._bvh_min_y; const parent_max_x = current._bvh_max_x; const parent_max_y = current._bvh_max_y; const new_parent = current._bvh_parent = body._bvh_parent = __WEBPACK_IMPORTED_MODULE_0__BVHBranch_mjs__["a" /* default */].getBranch(); new_parent._bvh_parent = grandparent; new_parent._bvh_left = current; new_parent._bvh_right = body; new_parent._bvh_sort = sort++; new_parent._bvh_min_x = body_min_x < parent_min_x ? body_min_x : parent_min_x; new_parent._bvh_min_y = body_min_y < parent_min_y ? body_min_y : parent_min_y; new_parent._bvh_max_x = body_max_x > parent_max_x ? body_max_x : parent_max_x; new_parent._bvh_max_y = body_max_y > parent_max_y ? body_max_y : parent_max_y; if(!grandparent) { this._hierarchy = new_parent; } else if(grandparent._bvh_left === current) { grandparent._bvh_left = new_parent; } else { grandparent._bvh_right = new_parent; } break; } } } } /** * Removes a body from the BVH * @param {Circle|Polygon|Point} body The body to remove * @param {Boolean} [updating = false] Set to true if this is a temporary removal (used internally when updating the body's position) */ remove(body, updating = false) { if(!updating) { const bvh = body._bvh; if(bvh && bvh !== this) { throw new Error('Body belongs to another collision system'); } body._bvh = null; this._bodies.splice(this._bodies.indexOf(body), 1); } if(this._hierarchy === body) { this._hierarchy = null; return; } const parent = body._bvh_parent; const grandparent = parent._bvh_parent; const parent_left = parent._bvh_left; const sibling = parent_left === body ? parent._bvh_right : parent_left; sibling._bvh_parent = grandparent; if(sibling._bvh_branch) { sibling._bvh_sort = parent._bvh_sort; } if(grandparent) { if(grandparent._bvh_left === parent) { grandparent._bvh_left = sibling; } else { grandparent._bvh_right = sibling; } let branch = grandparent; while(branch) { const left = branch._bvh_left; const left_min_x = left._bvh_min_x; const left_min_y = left._bvh_min_y; const left_max_x = left._bvh_max_x; const left_max_y = left._bvh_max_y; const right = branch._bvh_right; const right_min_x = right._bvh_min_x; const right_min_y = right._bvh_min_y; const right_max_x = right._bvh_max_x; const right_max_y = right._bvh_max_y; branch._bvh_min_x = left_min_x < right_min_x ? left_min_x : right_min_x; branch._bvh_min_y = left_min_y < right_min_y ? left_min_y : right_min_y; branch._bvh_max_x = left_max_x > right_max_x ? left_max_x : right_max_x; branch._bvh_max_y = left_max_y > right_max_y ? left_max_y : right_max_y; branch = branch._bvh_parent; } } else { this._hierarchy = sibling; } __WEBPACK_IMPORTED_MODULE_0__BVHBranch_mjs__["a" /* default */].releaseBranch(parent); } /** * Updates the BVH. Moved bodies are removed/inserted. */ update() { const bodies = this._bodies; const count = bodies.length; for(let i = 0; i < count; ++i) { const body = bodies[i]; let update = false; if(!update && body.padding !== body._bvh_padding) { body._bvh_padding = body.padding; update = true; } if(!update) { const polygon = body._polygon; if(polygon) { if( body._dirty_coords || body.x !== body._x || body.y !== body._y || body.angle !== body._angle || body.scale_x !== body._scale_x || body.scale_y !== body._scale_y ) { body._calculateCoords(); } } const x = body.x; const y = body.y; const radius = polygon ? 0 : body.radius * body.scale; const min_x = polygon ? body._min_x : x - radius; const min_y = polygon ? body._min_y : y - radius; const max_x = polygon ? body._max_x : x + radius; const max_y = polygon ? body._max_y : y + radius; update = min_x < body._bvh_min_x || min_y < body._bvh_min_y || max_x > body._bvh_max_x || max_y > body._bvh_max_y; } if(update) { this.remove(body, true); this.insert(body, true); } } } /** * Returns a list of potential collisions for a body * @param {Circle|Polygon|Point} body The body to test * @returns {Array} */ potentials(body) { const results = []; const min_x = body._bvh_min_x; const min_y = body._bvh_min_y; const max_x = body._bvh_max_x; const max_y = body._bvh_max_y; let current = this._hierarchy; let traverse_left = true; if(!current || !current._bvh_branch) { return results; } while(current) { if(traverse_left) { traverse_left = false; let left = current._bvh_branch ? current._bvh_left : null; while( left && left._bvh_max_x >= min_x && left._bvh_max_y >= min_y && left._bvh_min_x <= max_x && left._bvh_min_y <= max_y ) { current = left; left = current._bvh_branch ? current._bvh_left : null; } } const branch = current._bvh_branch; const right = branch ? current._bvh_right : null; if( right && right._bvh_max_x > min_x && right._bvh_max_y > min_y && right._bvh_min_x < max_x && right._bvh_min_y < max_y ) { current = right; traverse_left = true; } else { if(!branch && current !== body) { results.push(current); } let parent = current._bvh_parent; if(parent) { while(parent && parent._bvh_right === current) { current = parent; parent = current._bvh_parent; } current = parent; } else { break; } } } return results; } /** * Draws the bodies within the BVH to a CanvasRenderingContext2D's current path * @param {CanvasRenderingContext2D} context The context to draw to */ draw(context) { const bodies = this._bodies; const count = bodies.length; for(let i = 0; i < count; ++i) { bodies[i].draw(context); } } /** * Draws the BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies. * @param {CanvasRenderingContext2D} context The context to draw to */ drawBVH(context) { let current = this._hierarchy; let traverse_left = true; while(current) { if(traverse_left) { traverse_left = false; let left = current._bvh_branch ? current._bvh_left : null; while(left) { current = left; left = current._bvh_branch ? current._bvh_left : null; } } const branch = current._bvh_branch; const min_x = current._bvh_min_x; const min_y = current._bvh_min_y; const max_x = current._bvh_max_x; const max_y = current._bvh_max_y; const right = branch ? current._bvh_right : null; context.moveTo(min_x, min_y); context.lineTo(max_x, min_y); context.lineTo(max_x, max_y); context.lineTo(min_x, max_y); context.lineTo(min_x, min_y); if(right) { current = right; traverse_left = true; } else { let parent = current._bvh_parent; if(parent) { while(parent && parent._bvh_right === current) { current = parent; parent = current._bvh_parent; } current = parent; } else { break; } } } } } /* harmony export (immutable) */ __webpack_exports__["a"] = BVH; ; /***/ }), /* 8 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /** * @private */ const branch_pool = []; /** * A branch within a BVH * @class * @private */ class BVHBranch { /** * @constructor */ constructor() { /** @private */ this._bvh_parent = null; /** @private */ this._bvh_branch = true; /** @private */ this._bvh_left = null; /** @private */ this._bvh_right = null; /** @private */ this._bvh_sort = 0; /** @private */ this._bvh_min_x = 0; /** @private */ this._bvh_min_y = 0; /** @private */ this._bvh_max_x = 0; /** @private */ this._bvh_max_y = 0; } /** * Returns a branch from the branch pool or creates a new branch * @returns {BVHBranch} */ static getBranch() { if(branch_pool.length) { return branch_pool.pop(); } return new BVHBranch(); } /** * Releases a branch back into the branch pool * @param {BVHBranch} branch The branch to release */ static releaseBranch(branch) { branch_pool.push(branch); } /** * Sorting callback used to sort branches by deepest first * @param {BVHBranch} a The first branch * @param {BVHBranch} b The second branch * @returns {Number} */ static sortBranches(a, b) { return a.sort > b.sort ? -1 : 1; } } /* harmony export (immutable) */ __webpack_exports__["a"] = BVHBranch; ; /***/ }), /* 9 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Body_mjs__ = __webpack_require__(1); /** * A circle used to detect collisions * @class */ class Circle extends __WEBPACK_IMPORTED_MODULE_0__Body_mjs__["a" /* default */] { /** * @constructor * @param {Number} [x = 0] The starting X coordinate * @param {Number} [y = 0] The starting Y coordinate * @param {Number} [radius = 0] The radius * @param {Number} [scale = 1] The scale * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions */ constructor(x = 0, y = 0, radius = 0, scale = 1, padding = 0) { super(x, y, padding); /** * @desc * @type {Number} */ this.radius = radius; /** * @desc * @type {Number} */ this.scale = scale; } /** * Draws the circle to a CanvasRenderingContext2D's current path * @param {CanvasRenderingContext2D} context The context to add the arc to */ draw(context) { const x = this.x; const y = this.y; const radius = this.radius * this.scale; context.moveTo(x + radius, y); context.arc(x, y, radius, 0, Math.PI * 2); } } /* harmony export (immutable) */ __webpack_exports__["a"] = Circle; ; /***/ }), /* 10 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Polygon_mjs__ = __webpack_require__(4); /** * A point used to detect collisions * @class */ class Point extends __WEBPACK_IMPORTED_MODULE_0__Polygon_mjs__["a" /* default */] { /** * @constructor * @param {Number} [x = 0] The starting X coordinate * @param {Number} [y = 0] The starting Y coordinate * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions */ constructor(x = 0, y = 0, padding = 0) { super(x, y, [[0, 0]], 0, 1, 1, padding); /** @private */ this._point = true; } } /* harmony export (immutable) */ __webpack_exports__["a"] = Point; ; Point.prototype.setPoints = undefined; /***/ }), /* 11 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_Collisions_mjs__ = __webpack_require__(0); const result = __WEBPACK_IMPORTED_MODULE_0__src_Collisions_mjs__["a" /* default */].createResult(); const width = 800; const height = 600; const count = 500 const speed = 1; const size = 5; let frame = 0; let fps_total = 0; class Stress { constructor() { this.element = document.createElement('div'); this.canvas = document.createElement('canvas'); this.context = this.canvas.getContext('2d'); this.collisions = new __WEBPACK_IMPORTED_MODULE_0__src_Collisions_mjs__["a" /* default */](); this.bodies = []; this.polygons = 0; this.circles = 0; this.canvas.width = width; this.canvas.height = height; this.context.font = '24px Arial'; // World bounds this.collisions.createPolygon(0, 0, [[0, 0], [width, 0]]); this.collisions.createPolygon(0, 0, [[width, 0], [width, height]]); this.collisions.createPolygon(0, 0, [[width, height], [0, height]]); this.collisions.createPolygon(0, 0, [[0, height], [0, 0]]); for(let i = 0; i < count; ++i) { this.createShape(!random(0, 49)); } this.element.innerHTML = `
Total: ${count}
Polygons: ${this.polygons}
Circles: ${this.circles}
`; this.bvh_checkbox = this.element.querySelector('#bvh'); this.element.appendChild(this.canvas); const self = this; let time = performance.now(); this.frame = requestAnimationFrame(function frame() { const current_time = performance.now(); self.update(1000 / (current_time - time)); self.frame = requestAnimationFrame(frame); time = current_time; }); } update(fps) { this.collisions.update(); ++frame; fps_total += fps; const average_fps = Math.round(fps_total / frame); if(frame > 100) { frame = 1; fps_total = average_fps; } for(let i = 0; i < this.bodies.length; ++i) { const body = this.bodies[i]; body.x += body.direction_x * speed; body.y += body.direction_y * speed; const potentials = body.potentials(); for(const body2 of potentials) { if(body.collides(body2, result)) { body.x -= result.overlap * result.overlap_x; body.y -= result.overlap * result.overlap_y; let dot = body.direction_x * result.overlap_y + body.direction_y * -result.overlap_x; body.direction_x = 2 * dot * result.overlap_y - body.direction_x; body.direction_y = 2 * dot * -result.overlap_x - body.direction_y; dot = body2.direction_x * result.overlap_y + body2.direction_y * -result.overlap_x; body2.direction_x = 2 * dot * result.overlap_y - body2.direction_x; body2.direction_y = 2 * dot * -result.overlap_x - body2.direction_y; } } } // Clear the canvas this.context.fillStyle = '#000000'; this.context.fillRect(0, 0, width, height); // Render the bodies this.context.strokeStyle = '#FFFFFF'; this.context.beginPath(); this.collisions.draw(this.context); this.context.stroke(); // Render the BVH if(this.bvh_checkbox.checked) { this.context.strokeStyle = '#00FF00'; this.context.beginPath(); this.collisions.drawBVH(this.context); this.context.stroke(); } // Render the FPS this.context.fillStyle = '#FFCC00'; this.context.fillText(average_fps, 10, 30); } createShape(large) { const min_size = size * 0.75 * (large ? 3 : 1); const max_size = size * 1.25 * (large ? 5 : 1); const x = random(0, width); const y = random(0, height); const direction = random(0, 360) * Math.PI / 180; let body; if(random(0, 2)) { body = this.collisions.createCircle(x, y, random(min_size, max_size)); ++this.circles; } else { body = this.collisions.createPolygon(x, y, [ [-random(min_size, max_size), -random(min_size, max_size)], [random(min_size, max_size), -random(min_size, max_size)], [random(min_size, max_size), random(min_size, max_size)], [-random(min_size, max_size), random(3, size)], ], random(0, 360) * Math.PI / 180); ++this.polygons; } body.direction_x = Math.cos(direction); body.direction_y = Math.sin(direction); this.bodies.push(body); } } /* harmony export (immutable) */ __webpack_exports__["a"] = Stress; function random(min, max) { return Math.floor(Math.random() * max) + min; } /***/ }) /******/ ]); ================================================ FILE: docs/file/src/Collisions.mjs.html ================================================ src/Collisions.mjs | collisions
Home Reference Source

src/Collisions.mjs

import BVH     from './modules/BVH.mjs';
import Circle  from './modules/Circle.mjs';
import Polygon from './modules/Polygon.mjs';
import Point   from './modules/Point.mjs';
import Result  from './modules/Result.mjs';
import SAT     from './modules/SAT.mjs';

/**
 * A collision system used to track bodies in order to improve collision detection performance
 * @class
 */
class Collisions {
	/**
	 * @constructor
	 */
	constructor() {
		/** @private */
		this._bvh = new BVH();
	}

	/**
	 * Creates a {@link Circle} and inserts it into the collision system
	 * @param {Number} [x = 0] The starting X coordinate
	 * @param {Number} [y = 0] The starting Y coordinate
	 * @param {Number} [radius = 0] The radius
	 * @param {Number} [scale = 1] The scale
	 * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions
	 * @returns {Circle}
	 */
	createCircle(x = 0, y = 0, radius = 0, scale = 1, padding = 0) {
		const body = new Circle(x, y, radius, scale, padding);

		this._bvh.insert(body);

		return body;
	}

	/**
	 * Creates a {@link Polygon} and inserts it into the collision system
	 * @param {Number} [x = 0] The starting X coordinate
	 * @param {Number} [y = 0] The starting Y coordinate
	 * @param {Array<Number[]>} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]
	 * @param {Number} [angle = 0] The starting rotation in radians
	 * @param {Number} [scale_x = 1] The starting scale along the X axis
	 * @param {Number} [scale_y = 1] The starting scale long the Y axis
	 * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions
	 * @returns {Polygon}
	 */
	createPolygon(x = 0, y = 0, points = [[0, 0]], angle = 0, scale_x = 1, scale_y = 1, padding = 0) {
		const body = new Polygon(x, y, points, angle, scale_x, scale_y, padding);

		this._bvh.insert(body);

		return body;
	}

	/**
	 * Creates a {@link Point} and inserts it into the collision system
	 * @param {Number} [x = 0] The starting X coordinate
	 * @param {Number} [y = 0] The starting Y coordinate
	 * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions
	 * @returns {Point}
	 */
	createPoint(x = 0, y = 0, padding = 0) {
		const body = new Point(x, y, padding);

		this._bvh.insert(body);

		return body;
	}

	/**
	 * Creates a {@link Result} used to collect the detailed results of a collision test
	 */
	createResult() {
		return new Result();
	}

	/**
	 * Creates a Result used to collect the detailed results of a collision test
	 */
	static createResult() {
		return new Result();
	}

	/**
	 * Inserts bodies into the collision system
	 * @param {...Circle|...Polygon|...Point} bodies
	 */
	insert(...bodies) {
		for(const body of bodies) {
			this._bvh.insert(body, false);
		}

		return this;
	}

	/**
	 * Removes bodies from the collision system
	 * @param {...Circle|...Polygon|...Point} bodies
	 */
	remove(...bodies) {
		for(const body of bodies) {
			this._bvh.remove(body, false);
		}

		return this;
	}

	/**
	 * Updates the collision system. This should be called before any collisions are tested.
	 */
	update() {
		this._bvh.update();

		return this;
	}

	/**
	 * Draws the bodies within the system to a CanvasRenderingContext2D's current path
	 * @param {CanvasRenderingContext2D} context The context to draw to
	 */
	draw(context) {
		return this._bvh.draw(context);
	}

	/**
	 * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.
	 * @param {CanvasRenderingContext2D} context The context to draw to
	 */
	drawBVH(context) {
		return this._bvh.drawBVH(context);
	}

	/**
	 * Returns a list of potential collisions for a body
	 * @param {Circle|Polygon|Point} body The body to test for potential collisions against
	 * @returns {Array<Body>}
	 */
	potentials(body) {
		return this._bvh.potentials(body);
	}

	/**
	 * Determines if two bodies are colliding
	 * @param {Circle|Polygon|Point} target The target body to test against
	 * @param {Result} [result = null] A Result object on which to store information about the collision
	 * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)
	 * @returns {Boolean}
	 */
	collides(source, target, result = null, aabb = true) {
		return SAT(source, target, result, aabb);
	}
};

export {
	Collisions as default,
	Collisions,
	Result,
	Circle,
	Polygon,
	Point,
};
================================================ FILE: docs/file/src/modules/BVH.mjs.html ================================================ src/modules/BVH.mjs | collisions
Home Reference Source

src/modules/BVH.mjs

import BVHBranch from './BVHBranch.mjs';

/**
 * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly
 * @class
 * @private
 */
export default class BVH {
	/**
	 * @constructor
	 */
	constructor() {
		/** @private */
		this._hierarchy = null;

		/** @private */
		this._bodies = [];

		/** @private */
		this._dirty_branches = [];
	}

	/**
	 * Inserts a body into the BVH
	 * @param {Circle|Polygon|Point} body The body to insert
	 * @param {Boolean} [updating = false] Set to true if the body already exists in the BVH (used internally when updating the body's position)
	 */
	insert(body, updating = false) {
		if(!updating) {
			const bvh = body._bvh;

			if(bvh && bvh !== this) {
				throw new Error('Body belongs to another collision system');
			}

			body._bvh = this;
			this._bodies.push(body);
		}

		const polygon = body._polygon;
		const body_x  = body.x;
		const body_y  = body.y;

		if(polygon) {
			if(
				body._dirty_coords ||
				body.x       !== body._x ||
				body.y       !== body._y ||
				body.angle   !== body._angle ||
				body.scale_x !== body._scale_x ||
				body.scale_y !== body._scale_y
			) {
				body._calculateCoords();
			}
		}

		const padding    = body._bvh_padding;
		const radius     = polygon ? 0 : body.radius * body.scale;
		const body_min_x = (polygon ? body._min_x : body_x - radius) - padding;
		const body_min_y = (polygon ? body._min_y : body_y - radius) - padding;
		const body_max_x = (polygon ? body._max_x : body_x + radius) + padding;
		const body_max_y = (polygon ? body._max_y : body_y + radius) + padding;

		body._bvh_min_x = body_min_x;
		body._bvh_min_y = body_min_y;
		body._bvh_max_x = body_max_x;
		body._bvh_max_y = body_max_y;

		let current = this._hierarchy;
		let sort    = 0;

		if(!current) {
			this._hierarchy = body;
		}
		else {
			while(true) {
				// Branch
				if(current._bvh_branch) {
					const left            = current._bvh_left;
					const left_min_y      = left._bvh_min_y;
					const left_max_x      = left._bvh_max_x;
					const left_max_y      = left._bvh_max_y;
					const left_new_min_x  = body_min_x < left._bvh_min_x ? body_min_x : left._bvh_min_x;
					const left_new_min_y  = body_min_y < left_min_y ? body_min_y : left_min_y;
					const left_new_max_x  = body_max_x > left_max_x ? body_max_x : left_max_x;
					const left_new_max_y  = body_max_y > left_max_y ? body_max_y : left_max_y;
					const left_volume     = (left_max_x - left._bvh_min_x) * (left_max_y - left_min_y);
					const left_new_volume = (left_new_max_x - left_new_min_x) * (left_new_max_y - left_new_min_y);
					const left_difference = left_new_volume - left_volume;

					const right            = current._bvh_right;
					const right_min_x      = right._bvh_min_x;
					const right_min_y      = right._bvh_min_y;
					const right_max_x      = right._bvh_max_x;
					const right_max_y      = right._bvh_max_y;
					const right_new_min_x  = body_min_x < right_min_x ? body_min_x : right_min_x;
					const right_new_min_y  = body_min_y < right_min_y ? body_min_y : right_min_y;
					const right_new_max_x  = body_max_x > right_max_x ? body_max_x : right_max_x;
					const right_new_max_y  = body_max_y > right_max_y ? body_max_y : right_max_y;
					const right_volume     = (right_max_x - right_min_x) * (right_max_y - right_min_y);
					const right_new_volume = (right_new_max_x - right_new_min_x) * (right_new_max_y - right_new_min_y);
					const right_difference = right_new_volume - right_volume;

					current._bvh_sort  = sort++;
					current._bvh_min_x = left_new_min_x < right_new_min_x ? left_new_min_x : right_new_min_x;
					current._bvh_min_y = left_new_min_y < right_new_min_y ? left_new_min_y : right_new_min_y;
					current._bvh_max_x = left_new_max_x > right_new_max_x ? left_new_max_x : right_new_max_x;
					current._bvh_max_y = left_new_max_y > right_new_max_y ? left_new_max_y : right_new_max_y;

					current = left_difference <= right_difference ? left : right;
				}
				// Leaf
				else {
					const grandparent  = current._bvh_parent;
					const parent_min_x = current._bvh_min_x;
					const parent_min_y = current._bvh_min_y;
					const parent_max_x = current._bvh_max_x;
					const parent_max_y = current._bvh_max_y;
					const new_parent   = current._bvh_parent = body._bvh_parent = BVHBranch.getBranch();

					new_parent._bvh_parent = grandparent;
					new_parent._bvh_left   = current;
					new_parent._bvh_right  = body;
					new_parent._bvh_sort   = sort++;
					new_parent._bvh_min_x  = body_min_x < parent_min_x ? body_min_x : parent_min_x;
					new_parent._bvh_min_y  = body_min_y < parent_min_y ? body_min_y : parent_min_y;
					new_parent._bvh_max_x  = body_max_x > parent_max_x ? body_max_x : parent_max_x;
					new_parent._bvh_max_y  = body_max_y > parent_max_y ? body_max_y : parent_max_y;

					if(!grandparent) {
						this._hierarchy = new_parent;
					}
					else if(grandparent._bvh_left === current) {
						grandparent._bvh_left = new_parent;
					}
					else {
						grandparent._bvh_right = new_parent;
					}

					break;
				}
			}
		}
	}

	/**
	 * Removes a body from the BVH
	 * @param {Circle|Polygon|Point} body The body to remove
	 * @param {Boolean} [updating = false] Set to true if this is a temporary removal (used internally when updating the body's position)
	 */
	remove(body, updating = false) {
		if(!updating) {
			const bvh = body._bvh;

			if(bvh && bvh !== this) {
				throw new Error('Body belongs to another collision system');
			}

			body._bvh = null;
			this._bodies.splice(this._bodies.indexOf(body), 1);
		}

		if(this._hierarchy === body) {
			this._hierarchy = null;

			return;
		}

		const parent       = body._bvh_parent;
		const grandparent  = parent._bvh_parent;
		const parent_left  = parent._bvh_left;
		const sibling      = parent_left === body ? parent._bvh_right : parent_left;

		sibling._bvh_parent = grandparent;

		if(sibling._bvh_branch) {
			sibling._bvh_sort = parent._bvh_sort;
		}

		if(grandparent) {
			if(grandparent._bvh_left === parent) {
				grandparent._bvh_left = sibling;
			}
			else {
				grandparent._bvh_right = sibling;
			}

			let branch = grandparent;

			while(branch) {
				const left       = branch._bvh_left;
				const left_min_x = left._bvh_min_x;
				const left_min_y = left._bvh_min_y;
				const left_max_x = left._bvh_max_x;
				const left_max_y = left._bvh_max_y;

				const right       = branch._bvh_right;
				const right_min_x = right._bvh_min_x;
				const right_min_y = right._bvh_min_y;
				const right_max_x = right._bvh_max_x;
				const right_max_y = right._bvh_max_y;

				branch._bvh_min_x = left_min_x < right_min_x ? left_min_x : right_min_x;
				branch._bvh_min_y = left_min_y < right_min_y ? left_min_y : right_min_y;
				branch._bvh_max_x = left_max_x > right_max_x ? left_max_x : right_max_x;
				branch._bvh_max_y = left_max_y > right_max_y ? left_max_y : right_max_y;

				branch = branch._bvh_parent;
			}
		}
		else {
			this._hierarchy = sibling;
		}

		BVHBranch.releaseBranch(parent);
	}

	/**
	 * Updates the BVH. Moved bodies are removed/inserted.
	 */
	update() {
		const bodies = this._bodies;
		const count  = bodies.length;

		for(let i = 0; i < count; ++i) {
			const body = bodies[i];

			let update = false;

			if(!update && body.padding !== body._bvh_padding) {
				body._bvh_padding = body.padding;
				update = true;
			}

			if(!update) {
				const polygon = body._polygon;

				if(polygon) {
					if(
						body._dirty_coords ||
						body.x       !== body._x ||
						body.y       !== body._y ||
						body.angle   !== body._angle ||
						body.scale_x !== body._scale_x ||
						body.scale_y !== body._scale_y
					) {
						body._calculateCoords();
					}
				}

				const x      = body.x;
				const y      = body.y;
				const radius = polygon ? 0 : body.radius * body.scale;
				const min_x  = polygon ? body._min_x : x - radius;
				const min_y  = polygon ? body._min_y : y - radius;
				const max_x  = polygon ? body._max_x : x + radius;
				const max_y  = polygon ? body._max_y : y + radius;

				update = min_x < body._bvh_min_x || min_y < body._bvh_min_y || max_x > body._bvh_max_x || max_y > body._bvh_max_y;
			}

			if(update) {
				this.remove(body, true);
				this.insert(body, true);
			}
		}
	}

	/**
	 * Returns a list of potential collisions for a body
	 * @param {Circle|Polygon|Point} body The body to test
	 * @returns {Array<Body>}
	 */
	potentials(body) {
		const results = [];
		const min_x   = body._bvh_min_x;
		const min_y   = body._bvh_min_y;
		const max_x   = body._bvh_max_x;
		const max_y   = body._bvh_max_y;

		let current       = this._hierarchy;
		let traverse_left = true;

		if(!current || !current._bvh_branch) {
			return results;
		}

		while(current) {
			if(traverse_left) {
				traverse_left = false;

				let left = current._bvh_branch ? current._bvh_left : null;

				while(
					left &&
					left._bvh_max_x >= min_x &&
					left._bvh_max_y >= min_y &&
					left._bvh_min_x <= max_x &&
					left._bvh_min_y <= max_y
				) {
					current = left;
					left    = current._bvh_branch ? current._bvh_left : null;
				}
			}

			const branch = current._bvh_branch;
			const right  = branch ? current._bvh_right : null;

			if(
				right &&
				right._bvh_max_x > min_x &&
				right._bvh_max_y > min_y &&
				right._bvh_min_x < max_x &&
				right._bvh_min_y < max_y
			) {
				current       = right;
				traverse_left = true;
			}
			else {
				if(!branch && current !== body) {
					results.push(current);
				}

				let parent = current._bvh_parent;

				if(parent) {
					while(parent && parent._bvh_right === current) {
						current = parent;
						parent  = current._bvh_parent;
					}

					current = parent;
				}
				else {
					break;
				}
			}
		}

		return results;
	}

	/**
	 * Draws the bodies within the BVH to a CanvasRenderingContext2D's current path
	 * @param {CanvasRenderingContext2D} context The context to draw to
	 */
	draw(context) {
		const bodies = this._bodies;
		const count  = bodies.length;

		for(let i = 0; i < count; ++i) {
			bodies[i].draw(context);
		}
	}

	/**
	 * Draws the BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.
	 * @param {CanvasRenderingContext2D} context The context to draw to
	 */
	drawBVH(context) {
		let current       = this._hierarchy;
		let traverse_left = true;

		while(current) {
			if(traverse_left) {
				traverse_left = false;

				let left = current._bvh_branch ? current._bvh_left : null;

				while(left) {
					current = left;
					left    = current._bvh_branch ? current._bvh_left : null;
				}
			}

			const branch = current._bvh_branch;
			const min_x  = current._bvh_min_x;
			const min_y  = current._bvh_min_y;
			const max_x  = current._bvh_max_x;
			const max_y  = current._bvh_max_y;
			const right  = branch ? current._bvh_right : null;

			context.moveTo(min_x, min_y);
			context.lineTo(max_x, min_y);
			context.lineTo(max_x, max_y);
			context.lineTo(min_x, max_y);
			context.lineTo(min_x, min_y);

			if(right) {
				current       = right;
				traverse_left = true;
			}
			else {
				let parent = current._bvh_parent;

				if(parent) {
					while(parent && parent._bvh_right === current) {
						current = parent;
						parent  = current._bvh_parent;
					}

					current = parent;
				}
				else {
					break;
				}
			}
		}
	}
};
================================================ FILE: docs/file/src/modules/BVHBranch.mjs.html ================================================ src/modules/BVHBranch.mjs | collisions
Home Reference Source

src/modules/BVHBranch.mjs

/**
 * @private
 */
const branch_pool = [];

/**
 * A branch within a BVH
 * @class
 * @private
 */
export default class BVHBranch {
	/**
	 * @constructor
	 */
	constructor() {
		/** @private */
		this._bvh_parent = null;

		/** @private */
		this._bvh_branch = true;

		/** @private */
		this._bvh_left = null;

		/** @private */
		this._bvh_right = null;

		/** @private */
		this._bvh_sort = 0;

		/** @private */
		this._bvh_min_x = 0;

		/** @private */
		this._bvh_min_y = 0;

		/** @private */
		this._bvh_max_x = 0;

		/** @private */
		this._bvh_max_y = 0;
	}

	/**
	 * Returns a branch from the branch pool or creates a new branch
	 * @returns {BVHBranch}
	 */
	static getBranch() {
		if(branch_pool.length) {
			return branch_pool.pop();
		}

		return new BVHBranch();
	}

	/**
	 * Releases a branch back into the branch pool
	 * @param {BVHBranch} branch The branch to release
	 */
	static releaseBranch(branch) {
		branch_pool.push(branch);
	}

	/**
	 * Sorting callback used to sort branches by deepest first
	 * @param {BVHBranch} a The first branch
	 * @param {BVHBranch} b The second branch
	 * @returns {Number}
	 */
	static sortBranches(a, b) {
		return a.sort > b.sort ? -1 : 1;
	}
};
================================================ FILE: docs/file/src/modules/Body.mjs.html ================================================ src/modules/Body.mjs | collisions
Home Reference Source

src/modules/Body.mjs

import Result from './Result.mjs';
import SAT    from './SAT.mjs';

/**
 * The base class for bodies used to detect collisions
 * @class
 * @protected
 */
export default class Body {
	/**
	 * @constructor
	 * @param {Number} [x = 0] The starting X coordinate
	 * @param {Number} [y = 0] The starting Y coordinate
	 * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions
	 */
	constructor(x = 0, y = 0, padding = 0) {
		/**
		 * @desc The X coordinate of the body
		 * @type {Number}
		 */
		this.x = x;

		/**
		 * @desc The Y coordinate of the body
		 * @type {Number}
		 */
		this.y = y;

		/**
		 * @desc The amount to pad the bounding volume when testing for potential collisions
		 * @type {Number}
		 */
		this.padding = padding;

		/** @private */
		this._circle = false;

		/** @private */
		this._polygon = false;

		/** @private */
		this._point = false;

		/** @private */
		this._bvh = null;

		/** @private */
		this._bvh_parent = null;

		/** @private */
		this._bvh_branch = false;

		/** @private */
		this._bvh_padding = padding;

		/** @private */
		this._bvh_min_x = 0;

		/** @private */
		this._bvh_min_y = 0;

		/** @private */
		this._bvh_max_x = 0;

		/** @private */
		this._bvh_max_y = 0;
	}

	/**
	 * Determines if the body is colliding with another body
	 * @param {Circle|Polygon|Point} target The target body to test against
	 * @param {Result} [result = null] A Result object on which to store information about the collision
	 * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)
	 * @returns {Boolean}
	 */
	collides(target, result = null, aabb = true) {
		return SAT(this, target, result, aabb);
	}

	/**
	 * Returns a list of potential collisions
	 * @returns {Array<Body>}
	 */
	potentials() {
		const bvh = this._bvh;

		if(bvh === null) {
			throw new Error('Body does not belong to a collision system');
		}

		return bvh.potentials(this);
	}

	/**
	 * Removes the body from its current collision system
	 */
	remove() {
		const bvh = this._bvh;

		if(bvh) {
			bvh.remove(this, false);
		}
	}

	/**
	 * Creates a {@link Result} used to collect the detailed results of a collision test
	 */
	createResult() {
		return new Result();
	}

	/**
	 * Creates a Result used to collect the detailed results of a collision test
	 */
	static createResult() {
		return new Result();
	}
};
================================================ FILE: docs/file/src/modules/Circle.mjs.html ================================================ src/modules/Circle.mjs | collisions
Home Reference Source

src/modules/Circle.mjs

import Body from './Body.mjs';

/**
 * A circle used to detect collisions
 * @class
 */
export default class Circle extends Body {
	/**
	 * @constructor
	 * @param {Number} [x = 0] The starting X coordinate
	 * @param {Number} [y = 0] The starting Y coordinate
	 * @param {Number} [radius = 0] The radius
	 * @param {Number} [scale = 1] The scale
	 * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions
	 */
	constructor(x = 0, y = 0, radius = 0, scale = 1, padding = 0) {
		super(x, y, padding);

		/**
		 * @desc
		 * @type {Number}
		 */
		this.radius = radius;

		/**
		 * @desc
		 * @type {Number}
		 */
		this.scale = scale;
	}

	/**
	 * Draws the circle to a CanvasRenderingContext2D's current path
	 * @param {CanvasRenderingContext2D} context The context to add the arc to
	 */
	draw(context) {
		const x      = this.x;
		const y      = this.y;
		const radius = this.radius * this.scale;

		context.moveTo(x + radius, y);
		context.arc(x, y, radius, 0, Math.PI * 2);
	}
};
================================================ FILE: docs/file/src/modules/Point.mjs.html ================================================ src/modules/Point.mjs | collisions
Home Reference Source

src/modules/Point.mjs

import Polygon from './Polygon.mjs';

/**
 * A point used to detect collisions
 * @class
 */
export default class Point extends Polygon {
	/**
	 * @constructor
	 * @param {Number} [x = 0] The starting X coordinate
	 * @param {Number} [y = 0] The starting Y coordinate
	 * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions
	 */
	constructor(x = 0, y = 0, padding = 0) {
		super(x, y, [[0, 0]], 0, 1, 1, padding);

		/** @private */
		this._point = true;
	}
};

Point.prototype.setPoints = undefined;
================================================ FILE: docs/file/src/modules/Polygon.mjs.html ================================================ src/modules/Polygon.mjs | collisions
Home Reference Source

src/modules/Polygon.mjs

import Body from './Body.mjs';

/**
 * A polygon used to detect collisions
 * @class
 */
export default class Polygon extends Body {
	/**
	 * @constructor
	 * @param {Number} [x = 0] The starting X coordinate
	 * @param {Number} [y = 0] The starting Y coordinate
	 * @param {Array<Number[]>} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]
	 * @param {Number} [angle = 0] The starting rotation in radians
	 * @param {Number} [scale_x = 1] The starting scale along the X axis
	 * @param {Number} [scale_y = 1] The starting scale long the Y axis
	 * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions
	 */
	constructor(x = 0, y = 0, points = [], angle = 0, scale_x = 1, scale_y = 1, padding = 0) {
		super(x, y, padding);

		/**
		 * @desc The angle of the body in radians
		 * @type {Number}
		 */
		this.angle = angle;

		/**
		 * @desc The scale of the body along the X axis
		 * @type {Number}
		 */
		this.scale_x = scale_x;

		/**
		 * @desc The scale of the body along the Y axis
		 * @type {Number}
		 */
		this.scale_y = scale_y;


		/** @private */
		this._polygon = true;

		/** @private */
		this._x = x;

		/** @private */
		this._y = y;

		/** @private */
		this._angle = angle;

		/** @private */
		this._scale_x = scale_x;

		/** @private */
		this._scale_y = scale_y;

		/** @private */
		this._min_x = 0;

		/** @private */
		this._min_y = 0;

		/** @private */
		this._max_x = 0;

		/** @private */
		this._max_y = 0;

		/** @private */
		this._points = null;

		/** @private */
		this._coords = null;

		/** @private */
		this._edges = null;

		/** @private */
		this._normals = null;

		/** @private */
		this._dirty_coords = true;

		/** @private */
		this._dirty_normals = true;

		Polygon.prototype.setPoints.call(this, points);
	}

	/**
	 * Draws the polygon to a CanvasRenderingContext2D's current path
	 * @param {CanvasRenderingContext2D} context The context to add the shape to
	 */
	draw(context) {
		if(
			this._dirty_coords ||
			this.x       !== this._x ||
			this.y       !== this._y ||
			this.angle   !== this._angle ||
			this.scale_x !== this._scale_x ||
			this.scale_y !== this._scale_y
		) {
			this._calculateCoords();
		}

		const coords = this._coords;

		if(coords.length === 2) {
			context.moveTo(coords[0], coords[1]);
			context.arc(coords[0], coords[1], 1, 0, Math.PI * 2);
		}
		else {
			context.moveTo(coords[0], coords[1]);

			for(let i = 2; i < coords.length; i += 2) {
				context.lineTo(coords[i], coords[i + 1]);
			}

			if(coords.length > 4) {
				context.lineTo(coords[0], coords[1]);
			}
		}
	}

	/**
	 * Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated.
	 * @param {Array<Number[]>} new_points An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]
	 */
	setPoints(new_points) {
		const count = new_points.length;

		this._points  = new Float64Array(count * 2);
		this._coords  = new Float64Array(count * 2);
		this._edges   = new Float64Array(count * 2);
		this._normals = new Float64Array(count * 2);

		const points = this._points;

		for(let i = 0, ix = 0, iy = 1; i < count; ++i, ix += 2, iy += 2) {
			const new_point = new_points[i];

			points[ix] = new_point[0];
			points[iy] = new_point[1];
		}

		this._dirty_coords = true;
	}

	/**
	 * Calculates and caches the polygon's world coordinates based on its points, angle, and scale
	 */
	_calculateCoords() {
		const x       = this.x;
		const y       = this.y;
		const angle   = this.angle;
		const scale_x = this.scale_x;
		const scale_y = this.scale_y;
		const points  = this._points;
		const coords  = this._coords;
		const count   = points.length;

		let min_x;
		let max_x;
		let min_y;
		let max_y;

		for(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) {
			let coord_x = points[ix] * scale_x;
			let coord_y = points[iy] * scale_y;

			if(angle) {
				const cos   = Math.cos(angle);
				const sin   = Math.sin(angle);
				const tmp_x = coord_x;
				const tmp_y = coord_y;

				coord_x = tmp_x * cos - tmp_y * sin;
				coord_y = tmp_x * sin + tmp_y * cos;
			}

			coord_x += x;
			coord_y += y;

			coords[ix] = coord_x;
			coords[iy] = coord_y;

			if(ix === 0) {
				min_x = max_x = coord_x;
				min_y = max_y = coord_y;
			}
			else {
				if(coord_x < min_x) {
					min_x = coord_x;
				}
				else if(coord_x > max_x) {
					max_x = coord_x;
				}

				if(coord_y < min_y) {
					min_y = coord_y;
				}
				else if(coord_y > max_y) {
					max_y = coord_y;
				}
			}
		}

		this._x             = x;
		this._y             = y;
		this._angle         = angle;
		this._scale_x       = scale_x;
		this._scale_y       = scale_y;
		this._min_x         = min_x;
		this._min_y         = min_y;
		this._max_x         = max_x;
		this._max_y         = max_y;
		this._dirty_coords  = false;
		this._dirty_normals = true;
	}

	/**
	 * Calculates the normals and edges of the polygon's sides
	 */
	_calculateNormals() {
		const coords  = this._coords;
		const edges   = this._edges;
		const normals = this._normals;
		const count   = coords.length;

		for(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) {
			const next   = ix + 2 < count ? ix + 2 : 0;
			const x      = coords[next] - coords[ix];
			const y      = coords[next + 1] - coords[iy];
			const length = x || y ? Math.sqrt(x * x + y * y) : 0;

			edges[ix]   = x;
			edges[iy]   = y;
			normals[ix] = length ? y / length : 0;
			normals[iy] = length ? -x / length : 0;
		}

		this._dirty_normals = false;
	}
};
================================================ FILE: docs/file/src/modules/Result.mjs.html ================================================ src/modules/Result.mjs | collisions
Home Reference Source

src/modules/Result.mjs

/**
 * An object used to collect the detailed results of a collision test
 *
 * > **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory
 * @class
 */
export default class Result {
	/**
	 * @constructor
	 */
	constructor() {
		/**
		 * @desc True if a collision was detected
		 * @type {Boolean}
		 */
		this.collision = false;

		/**
		 * @desc The source body tested
		 * @type {Circle|Polygon|Point}
		 */
		this.a = null;

		/**
		 * @desc The target body tested against
		 * @type {Circle|Polygon|Point}
		 */
		this.b = null;

		/**
		 * @desc True if A is completely contained within B
		 * @type {Boolean}
		 */
		this.a_in_b = false;

		/**
		 * @desc True if B is completely contained within A
		 * @type {Boolean}
		 */
		this.a_in_b = false;

		/**
		 * @desc The magnitude of the shortest axis of overlap
		 * @type {Number}
		 */
		this.overlap = 0;

		/**
		 * @desc The X direction of the shortest axis of overlap
		 * @type {Number}
		 */
		this.overlap_x = 0;

		/**
		 * @desc The Y direction of the shortest axis of overlap
		 * @type {Number}
		 */
		this.overlap_y = 0;
	}
};
================================================ FILE: docs/file/src/modules/SAT.mjs.html ================================================ src/modules/SAT.mjs | collisions
Home Reference Source

src/modules/SAT.mjs

/**
 * Determines if two bodies are colliding using the Separating Axis Theorem
 * @private
 * @param {Circle|Polygon|Point} a The source body to test
 * @param {Circle|Polygon|Point} b The target body to test against
 * @param {Result} [result = null] A Result object on which to store information about the collision
 * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own collision heuristic)
 * @returns {Boolean}
 */
export default function SAT(a, b, result = null, aabb = true) {
	const a_polygon = a._polygon;
	const b_polygon = b._polygon;

	let collision = false;

	if(result) {
		result.a         = a;
		result.b         = b;
		result.a_in_b    = true;
		result.b_in_a    = true;
		result.overlap   = null;
		result.overlap_x = 0;
		result.overlap_y = 0;
	}

	if(a_polygon) {
		if(
			a._dirty_coords ||
			a.x       !== a._x ||
			a.y       !== a._y ||
			a.angle   !== a._angle ||
			a.scale_x !== a._scale_x ||
			a.scale_y !== a._scale_y
		) {
			a._calculateCoords();
		}
	}

	if(b_polygon) {
		if(
			b._dirty_coords ||
			b.x       !== b._x ||
			b.y       !== b._y ||
			b.angle   !== b._angle ||
			b.scale_x !== b._scale_x ||
			b.scale_y !== b._scale_y
		) {
			b._calculateCoords();
		}
	}

	if(!aabb || aabbAABB(a, b)) {
		if(a_polygon && a._dirty_normals) {
			a._calculateNormals();
		}

		if(b_polygon && b._dirty_normals) {
			b._calculateNormals();
		}

		collision = (
			a_polygon && b_polygon ? polygonPolygon(a, b, result) :
			a_polygon ? polygonCircle(a, b, result, false) :
			b_polygon ? polygonCircle(b, a, result, true) :
			circleCircle(a, b, result)
		);
	}

	if(result) {
		result.collision = collision;
	}

	return collision;
};

/**
 * Determines if two bodies' axis aligned bounding boxes are colliding
 * @param {Circle|Polygon|Point} a The source body to test
 * @param {Circle|Polygon|Point} b The target body to test against
 */
function aabbAABB(a, b) {
	const a_polygon = a._polygon;
	const a_x       = a_polygon ? 0 : a.x;
	const a_y       = a_polygon ? 0 : a.y;
	const a_radius  = a_polygon ? 0 : a.radius * a.scale;
	const a_min_x   = a_polygon ? a._min_x : a_x - a_radius;
	const a_min_y   = a_polygon ? a._min_y : a_y - a_radius;
	const a_max_x   = a_polygon ? a._max_x : a_x + a_radius;
	const a_max_y   = a_polygon ? a._max_y : a_y + a_radius;

	const b_polygon = b._polygon;
	const b_x       = b_polygon ? 0 : b.x;
	const b_y       = b_polygon ? 0 : b.y;
	const b_radius  = b_polygon ? 0 : b.radius * b.scale;
	const b_min_x   = b_polygon ? b._min_x : b_x - b_radius;
	const b_min_y   = b_polygon ? b._min_y : b_y - b_radius;
	const b_max_x   = b_polygon ? b._max_x : b_x + b_radius;
	const b_max_y   = b_polygon ? b._max_y : b_y + b_radius;

	return a_min_x < b_max_x && a_min_y < b_max_y && a_max_x > b_min_x && a_max_y > b_min_y;
}

/**
 * Determines if two polygons are colliding
 * @param {Polygon} a The source polygon to test
 * @param {Polygon} b The target polygon to test against
 * @param {Result} [result = null] A Result object on which to store information about the collision
 * @returns {Boolean}
 */
function polygonPolygon(a, b, result = null) {
	const a_count = a._coords.length;
	const b_count = b._coords.length;

	// Handle points specially
	if(a_count === 2 && b_count === 2) {
		const a_coords = a._coords;
		const b_coords = b._coords;

		if(result) {
			result.overlap = 0;
		}

		return a_coords[0] === b_coords[0] && a_coords[1] === b_coords[1];
	}

	const a_coords  = a._coords;
	const b_coords  = b._coords;
	const a_normals = a._normals;
	const b_normals = b._normals;

	if(a_count > 2) {
		for(let ix = 0, iy = 1; ix < a_count; ix += 2, iy += 2) {
			if(separatingAxis(a_coords, b_coords, a_normals[ix], a_normals[iy], result)) {
				return false;
			}
		}
	}

	if(b_count > 2) {
		for(let ix = 0, iy = 1; ix < b_count; ix += 2, iy += 2) {
			if(separatingAxis(a_coords, b_coords, b_normals[ix], b_normals[iy], result)) {
				return false;
			}
		}
	}

	return true;
}

/**
 * Determines if a polygon and a circle are colliding
 * @param {Polygon} a The source polygon to test
 * @param {Circle} b The target circle to test against
 * @param {Result} [result = null] A Result object on which to store information about the collision
 * @param {Boolean} [reverse = false] Set to true to reverse a and b in the result parameter when testing circle->polygon instead of polygon->circle
 * @returns {Boolean}
 */
function polygonCircle(a, b, result = null, reverse = false) {
	const a_coords       = a._coords;
	const a_edges        = a._edges;
	const a_normals      = a._normals;
	const b_x            = b.x;
	const b_y            = b.y;
	const b_radius       = b.radius * b.scale;
	const b_radius2      = b_radius * 2;
	const radius_squared = b_radius * b_radius;
	const count          = a_coords.length;

	let a_in_b    = true;
	let b_in_a    = true;
	let overlap   = null;
	let overlap_x = 0;
	let overlap_y = 0;

	// Handle points specially
	if(count === 2) {
		const coord_x        = b_x - a_coords[0];
		const coord_y        = b_y - a_coords[1];
		const length_squared = coord_x * coord_x + coord_y * coord_y;

		if(length_squared > radius_squared) {
			return false;
		}

		if(result) {
			const length = Math.sqrt(length_squared);

			overlap   = b_radius - length;
			overlap_x = coord_x / length;
			overlap_y = coord_y / length;
			b_in_a    = false;
		}
	}
	else {
		for(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) {
			const coord_x = b_x - a_coords[ix];
			const coord_y = b_y - a_coords[iy];
			const edge_x  = a_edges[ix];
			const edge_y  = a_edges[iy];
			const dot     = coord_x * edge_x + coord_y * edge_y;
			const region  = dot < 0 ? -1 : dot > edge_x * edge_x + edge_y * edge_y ? 1 : 0;

			let tmp_overlapping = false;
			let tmp_overlap     = 0;
			let tmp_overlap_x   = 0;
			let tmp_overlap_y   = 0;

			if(result && a_in_b && coord_x * coord_x + coord_y * coord_y > radius_squared) {
				a_in_b = false;
			}

			if(region) {
				const left     = region === -1;
				const other_x  = left ? (ix === 0 ? count - 2 : ix - 2) : (ix === count - 2 ? 0 : ix + 2);
				const other_y  = other_x + 1;
				const coord2_x = b_x - a_coords[other_x];
				const coord2_y = b_y - a_coords[other_y];
				const edge2_x  = a_edges[other_x];
				const edge2_y  = a_edges[other_y];
				const dot2     = coord2_x * edge2_x + coord2_y * edge2_y;
				const region2  = dot2 < 0 ? -1 : dot2 > edge2_x * edge2_x + edge2_y * edge2_y ? 1 : 0;

				if(region2 === -region) {
					const target_x       = left ? coord_x : coord2_x;
					const target_y       = left ? coord_y : coord2_y;
					const length_squared = target_x * target_x + target_y * target_y;

					if(length_squared > radius_squared) {
						return false;
					}

					if(result) {
						const length = Math.sqrt(length_squared);

						tmp_overlapping = true;
						tmp_overlap     = b_radius - length;
						tmp_overlap_x   = target_x / length;
						tmp_overlap_y   = target_y / length;
						b_in_a          = false;
					}
				}
			}
			else {
				const normal_x        = a_normals[ix];
				const normal_y        = a_normals[iy];
				const length          = coord_x * normal_x + coord_y * normal_y;
				const absolute_length = length < 0 ? -length : length;

				if(length > 0 && absolute_length > b_radius) {
					return false;
				}

				if(result) {
					tmp_overlapping = true;
					tmp_overlap     = b_radius - length;
					tmp_overlap_x   = normal_x;
					tmp_overlap_y   = normal_y;

					if(b_in_a && length >= 0 || tmp_overlap < b_radius2) {
						b_in_a = false;
					}
				}
			}

			if(tmp_overlapping && (overlap === null || overlap > tmp_overlap)) {
				overlap   = tmp_overlap;
				overlap_x = tmp_overlap_x;
				overlap_y = tmp_overlap_y;
			}
		}
	}

	if(result) {
		result.a_in_b    = reverse ? b_in_a : a_in_b;
		result.b_in_a    = reverse ? a_in_b : b_in_a;
		result.overlap   = overlap;
		result.overlap_x = reverse ? -overlap_x : overlap_x;
		result.overlap_y = reverse ? -overlap_y : overlap_y;
	}

	return true;
}

/**
 * Determines if two circles are colliding
 * @param {Circle} a The source circle to test
 * @param {Circle} b The target circle to test against
 * @param {Result} [result = null] A Result object on which to store information about the collision
 * @returns {Boolean}
 */
function circleCircle(a, b, result = null) {
	const a_radius       = a.radius * a.scale;
	const b_radius       = b.radius * b.scale;
	const difference_x   = b.x - a.x;
	const difference_y   = b.y - a.y;
	const radius_sum     = a_radius + b_radius;
	const length_squared = difference_x * difference_x + difference_y * difference_y;

	if(length_squared > radius_sum * radius_sum) {
		return false;
	}

	if(result) {
		const length = Math.sqrt(length_squared);

		result.a_in_b    = a_radius <= b_radius && length <= b_radius - a_radius;
		result.b_in_a    = b_radius <= a_radius && length <= a_radius - b_radius;
		result.overlap   = radius_sum - length;
		result.overlap_x = difference_x / length;
		result.overlap_y = difference_y / length;
	}

	return true;
}

/**
 * Determines if two polygons are separated by an axis
 * @param {Array<Number[]>} a_coords The coordinates of the polygon to test
 * @param {Array<Number[]>} b_coords The coordinates of the polygon to test against
 * @param {Number} x The X direction of the axis
 * @param {Number} y The Y direction of the axis
 * @param {Result} [result = null] A Result object on which to store information about the collision
 * @returns {Boolean}
 */
function separatingAxis(a_coords, b_coords, x, y, result = null) {
	const a_count = a_coords.length;
	const b_count = b_coords.length;

	if(!a_count || !b_count) {
		return true;
	}

	let a_start = null;
	let a_end   = null;
	let b_start = null;
	let b_end   = null;

	for(let ix = 0, iy = 1; ix < a_count; ix += 2, iy += 2) {
		const dot = a_coords[ix] * x + a_coords[iy] * y;

		if(a_start === null || a_start > dot) {
			a_start = dot;
		}

		if(a_end === null || a_end < dot) {
			a_end = dot;
		}
	}

	for(let ix = 0, iy = 1; ix < b_count; ix += 2, iy += 2) {
		const dot = b_coords[ix] * x + b_coords[iy] * y;

		if(b_start === null || b_start > dot) {
			b_start = dot;
		}

		if(b_end === null || b_end < dot) {
			b_end = dot;
		}
	}

	if(a_start > b_end || a_end < b_start) {
		return true;
	}

	if(result) {
		let overlap = 0;

		if(a_start < b_start) {
			result.a_in_b = false;

			if(a_end < b_end) {
				overlap       = a_end - b_start;
				result.b_in_a = false;
			}
			else {
				const option1 = a_end - b_start;
				const option2 = b_end - a_start;

				overlap = option1 < option2 ? option1 : -option2;
			}
		}
		else {
			result.b_in_a = false;

			if(a_end > b_end) {
				overlap       = a_start - b_end;
				result.a_in_b = false;
			}
			else {
				const option1 = a_end - b_start;
				const option2 = b_end - a_start;

				overlap = option1 < option2 ? option1 : -option2;
			}
		}

		const current_overlap  = result.overlap;
		const absolute_overlap = overlap < 0 ? -overlap : overlap;

		if(current_overlap === null || current_overlap > absolute_overlap) {
			const sign = overlap < 0 ? -1 : 1;

			result.overlap   = absolute_overlap;
			result.overlap_x = x * sign;
			result.overlap_y = y * sign;
		}
	}

	return false;
}
================================================ FILE: docs/identifiers.html ================================================ Reference | collisions
Home Reference Source

References

summary
public

A collision system used to track bodies in order to improve collision detection performance

modules

summary
protected

C Body

The base class for bodies used to detect collisions

public

C Circle

A circle used to detect collisions

public

C Point

A point used to detect collisions

public

A polygon used to detect collisions

public

C Result

An object used to collect the detailed results of a collision test

Directories
================================================ FILE: docs/index.html ================================================ Home | collisions
Home Reference Source

Collisions

Collisions is a JavaScript library for quickly and accurately detecting collisions between Polygons, Circles, and Points. It combines the efficiency of a Bounding Volume Hierarchy (BVH) for broad-phase searching and the accuracy of the Separating Axis Theorem (SAT) for narrow-phase collision testing.

Installation

npm install collisions

Note: This library uses the native ECMAScript Module syntax. Most environments support native modules, but the following exceptions apply:

Bundling solutions such as Webpack or Rollup.js make native modules compatible with all environments.

Documentation

View the documentation (this README is also there).

Demos

Usage

import Collisions from 'collisions';

// Create the collision system
const system = new Collisions();

// Create a Result object for collecting information about the collisions
const result = system.createResult();

// Create the player (represented by a Circle)
const player = system.createCircle(100, 100, 10);

// Create some walls (represented by Polygons)
const wall1 = system.createPolygon(400, 500, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 1.7);
const wall2 = system.createPolygon(200, 100, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 2.2);
const wall3 = system.createPolygon(400, 50, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 0.7);

// Update the collision system
system.update();

// Get any potential collisions (this quickly rules out walls that have no chance of colliding with the player)
const potentials = player.potentials();

// Loop through the potential wall collisions
for(const wall of potentials) {
    // Test if the player collides with the wall
    if(player.collides(wall, result)) {
        // Push the player out of the wall
        player.x -= result.overlap * result.overlap_x;
        player.y -= result.overlap * result.overlap_y;
    }
}

Getting Started

1. Creating a Collision System

Collisions provides functions for performing both broad-phase and narrow-phase collision tests. In order to take full advantage of both phases, bodies need to be tracked within a collision system.

Call the Collisions constructor to create a collision system.

import Collisions from 'collisions';

const system = new Collisions();

2. Creating, Inserting, Updating, and Removing Bodies

Collisions supports the following body types:

  • Circle: A shape with infinite sides equidistant from a single point
  • Polygon: A shape made up of line segments
  • Point: A single coordinate

To use them, import the desired body class, call its constructor, and insert it into the collision system using insert().

import {Collisions, Circle, Polygon, Point} from 'collisions';

const system = new Collisions();

const circle  = new Circle(100, 100, 10);
const polygon = new Polygon(50, 50, [[0, 0], [20, 20], [-10, 10]]);
const line    = new Polygon(200, 5, [[-30, 0], [10, 20]]);
const point   = new Point(10, 10);

system.insert(circle)
system.insert(polygon, line, point);

Collision systems expose several convenience functions for creating bodies and inserting them into the system in one step. This also avoids having to import the different body classes.

import Collisions from 'collisions';

const system = new Collisions();

const circle  = system.createCircle(100, 100, 10);
const polygon = system.createPolygon(50, 50, [[0, 0], [20, 20], [-10, 10]]);
const line    = system.createPolygon(200, 5, [[-30, 0], [10, 20]]);
const point   = system.createPoint(10, 10);

All bodies have x and y properties that can be manipulated. Additionally, Circle bodies have a scale property that can be used to scale their overall size. Polygon bodies have scale_x and scale_y properties to scale their points along a particular axis and an angle property to rotate their points around their current position (using radians).

circle.x     = 20;
circle.y     = 30;
circle.scale = 1.5;

polygon.x       = 40;
polygon.y       = 100;
polygon.scale_x = 1.2;
polygon.scale_y = 3.4;
polygon.angle   = 1.2;

And, of course, bodies can be removed when they are no longer needed.

system.remove(polygon, point);
circle.remove();

3. Updating the Collision System

Collision systems need to be updated when the bodies within them change. This includes when bodies are inserted, removed, or when their properties change (e.g. position, angle, scaling, etc.). Updating a collision system is done by calling update() and should typically occur once per frame.

system.update();

The optimal time for updating a collision system is after its bodies have changed and before collisions are tested. For example, a game loop might use the following order of events:

function gameLoop() {
    handleInput();
    processGameLogic();

    system.update();

    handleCollisions();
    render();
}

4. Testing for Collisions

When testing for collisions on a body, it is generally recommended that a broad-phase search be performed first by calling potentials() in order to quickly rule out bodies that are too far away to collide. Collisions uses a Bounding Volume Hierarchy (BVH) for its broad-phase search. Calling potentials() on a body traverses the BVH and builds a list of potential collision candidates.

const potentials = polygon.potentials();

Once a list of potential collisions is acquired, loop through them and perform a narrow-phase collision test using collides(). Collisions uses the Separating Axis Theorem (SAT) for its narrow-phase collision tests.

const potentials = polygon.potentials();

for(const body of potentials) {
    if(polygon.collides(body)) {
        console.log('Collision detected!');
    }
}

It is also possible to skip the broad-phase search entirely and call collides() directly on two bodies.

Note: Skipping the broad-phase search is not recommended. When testing for collisions against large numbers of bodies, performing a broad-phase search using a BVH is much more efficient.

if(polygon.collides(line)) {
    console.log('Collision detected!');
}

5. Getting Detailed Collision Information

There is often a need for detailed information about a collision in order to react to it appropriately. This information is stored using a Result object. Result objects have several properties set on them when a collision occurs, all of which are described in the documentation.

For convenience, there are several ways to create a Result object. Result objects do not belong to any particular collision system, so any of the following methods for creating one can be used interchangeably. This also means the same Result object can be used for collisions across multiple systems.

Note: It is highly recommended that Result objects be recycled when performing multiple collision tests in order to save memory. The following example creates multiple Result objects strictly as a demonstration.

import {Collisions, Result, Polygon} from 'collisions';

const system     = new Collisions();
const my_polygon = new Polygon(100, 100, 10);

const result1 = new Result();
const result2 = Collisions.createResult();
const result3 = system.createResult();
const result4 = Polygon.createResult();
const result5 = my_polygon.createResult();

To use a Result object, pass it into collides(). If a collision occurs, it will be populated with information about the collision. Take note in the following example that the same Result object is being reused each iteration.

const result     = system.createResult();
const potentials = point.potentials();

for(const body of potentials) {
    if(point.collides(body, result)) {
        console.log(result);
    }
}

6. Negating Overlap

A common use-case in collision detection is negating overlap when a collision occurs (such as when a player hits a wall). This can be done using the collision information in a Result object (see Getting Detailed Collision Information).

The three most useful properties on a Result object are overlap, overlap_x, and overlap_y. Together, these values describe how much and in what direction the source body is overlapping the target body. More specifically, overlap_x and overlap_y describe the direction vector, and overlap describes the magnitude of that vector.

These values can be used to "push" one body out of another using the minimum distance required. More simply, subtracting this vector from the source body's position will cause the bodies to no longer collide. Here's an example:

if(player.collides(wall, result)) {
    player.x -= result.overlap * result.overlap_x;
    player.y -= result.overlap * result.overlap_y;
}

Lines

Creating a line is simply a matter of creating a single-sided polygon (i.e. a polygon with only two coordinate pairs).

const line = new Polygon(200, 5, [[-30, 0], [10, 20]]);

Concave Polygons

Collisions uses the Separating Axis Theorem (SAT) for its narrow-phase collision tests. One caveat to SAT is that it only works properly on convex bodies. However, concave polygons can be "faked" by using a series of Lines. Keep in mind that a polygon drawn using Lines is "hollow".

Handling true concave polygons requires breaking them down into their component convex polygons (Convex Decomposition) and testing them for collisions individually. There are plans to integrate this functionality into the library in the future, but for now, check out poly-decomp.js.

Rendering

For debugging, it is often useful to be able to visualize the collision bodies. All of the bodies in a Collision system can be drawn to a <canvas> element by calling draw() and passing in the canvas' 2D context.

const canvas  = document.createElement('canvas');
const context = canvas.getContext('2d');

// ...
context.strokeStyle = '#FFFFFF';
context.beginPath();

system.draw(context);

context.stroke();

Bodies can be individually drawn as well.

context.strokeStyle = '#FFFFFF';
context.beginPath();

polygon.draw(context);
circle.draw(context);

context.stroke();

The BVH can also be drawn to help test Bounding Volume Padding.

context.strokeStyle = '#FFFFFF';
context.beginPath();

system.drawBVH(context);

context.stroke();

Bounding Volume Padding

When bodies move around within a collision system, the internal BVH has to remove and reinsert the body in order to determine where it belongs in the hierarchy. This is one of the most costly operations in maintaining a BVH. In general, most projects will never see a performance issue from this unless they are dealing with thousands of moving bodies at once. In these cases, it can sometimes be beneficial to "pad" the bounding volumes of each body so that the BVH doesn't need to remove and reinsert bodies that haven't changed position too much. In other words, padding the bounding volume allows "breathing room" for the body within it to move around without being flagged for an update.

The tradeoff is that the slightly larger bounding volumes can trigger more false-positives during the broad-phase potentials() search. While the narrow phase will ultimately rule these out using Axis Aligned Bounding Box tests, putting too much padding on bodies that are crowded can lead to too many false positives and a diminishing return in performance. It is up to the developer to determine how much padding each body will need based on how much it can move within a single frame and how crowded the bodies in the system are.

Padding can be added to a body when instantiating it (see the documentation for each body) or at any time by changing its padding property.

const padding = 5;
const circle  = new Circle(100, 100, 10, 1, padding);

// ...

circle.padding = 10;

Only using SAT

Some projects may only have a need to perform SAT collision tests without broad-phase searching. This can be achieved by avoiding collision systems altogether and only using the collides() function.

import {Circle, Polygon, Result} from 'collisions';

const circle  = new Circle(45, 45, 20);
const polygon = new Polygon(50, 50, [[0, 0], [20, 20], [-10, 10]]);
const result  = new Result();

if(circle.collides(polygon, result)) {
    console.log(result);
}

FAQ

Why shouldn't I just use a physics engine?

Projects requiring physics are encouraged to use one of the several physics engines out there (e.g. Matter.js, Planck.js). However, many projects end up using physics engines solely for collision detection, and developers often find themselves having to work around some of the assumptions that these engines make (gravity, velocity, friction, etc.). Collisions was created to provide robust collision detection and nothing more. In fact, a physics engine could easily be written with Collisions at its core.

Why does the source code seem to have quite a bit of copy/paste?

Collisions was written with performance as its primary focus. Conscious decisions were made to sacrifice readability in order to avoid the overhead of unnecessary function calls or property lookups.

Sometimes bodies can "squeeze" between two other bodies. What's going on?

This isn't caused by faulty collisions, but rather how a project handles its collision responses. There are several ways to go about responding to collisions, the most common of which is to loop through all bodies, find their potential collisions, and negate any overlaps that are found one at a time. Since the overlaps are negated one at a time, the last negation takes precedence and can cause the body to be pushed into another body.

One workaround is to resolve each collision, update the collision system, and repeat until no collisions are found. Keep in mind that this can potentially lead to infinite loops if the two colliding bodies equally negate each other. Another solution is to collect all overlaps and combine them into a single resultant vector and then push the body out, but this can get rather complicated.

There is no perfect solution. How collisions are handled depends on the project.

================================================ FILE: docs/index.json ================================================ [ { "__docId__": 1, "kind": "external", "name": "Infinity", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Infinity", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 2, "kind": "external", "name": "NaN", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~NaN", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 3, "kind": "external", "name": "undefined", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~undefined", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 4, "kind": "external", "name": "null", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~null", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 5, "kind": "external", "name": "Object", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Object", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 6, "kind": "external", "name": "object", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~object", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 7, "kind": "external", "name": "Function", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Function", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 8, "kind": "external", "name": "function", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~function", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 9, "kind": "external", "name": "Boolean", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Boolean", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 10, "kind": "external", "name": "boolean", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~boolean", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 11, "kind": "external", "name": "Symbol", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Symbol", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 12, "kind": "external", "name": "Error", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Error", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 13, "kind": "external", "name": "EvalError", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~EvalError", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 14, "kind": "external", "name": "InternalError", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~InternalError", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 15, "kind": "external", "name": "RangeError", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~RangeError", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 16, "kind": "external", "name": "ReferenceError", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~ReferenceError", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 17, "kind": "external", "name": "SyntaxError", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~SyntaxError", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 18, "kind": "external", "name": "TypeError", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~TypeError", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 19, "kind": "external", "name": "URIError", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~URIError", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 20, "kind": "external", "name": "Number", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Number", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 21, "kind": "external", "name": "number", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~number", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 22, "kind": "external", "name": "Date", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Date", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 23, "kind": "external", "name": "String", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~String", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 24, "kind": "external", "name": "string", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~string", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 25, "kind": "external", "name": "RegExp", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~RegExp", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 26, "kind": "external", "name": "Array", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Array", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 27, "kind": "external", "name": "Int8Array", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Int8Array", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 28, "kind": "external", "name": "Uint8Array", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Uint8Array", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 29, "kind": "external", "name": "Uint8ClampedArray", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Uint8ClampedArray", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 30, "kind": "external", "name": "Int16Array", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Int16Array", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 31, "kind": "external", "name": "Uint16Array", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Uint16Array", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 32, "kind": "external", "name": "Int32Array", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Int32Array", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 33, "kind": "external", "name": "Uint32Array", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Uint32Array", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 34, "kind": "external", "name": "Float32Array", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Float32Array", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 35, "kind": "external", "name": "Float64Array", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Float64Array", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 36, "kind": "external", "name": "Map", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Map", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 37, "kind": "external", "name": "Set", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Set", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 38, "kind": "external", "name": "WeakMap", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~WeakMap", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 39, "kind": "external", "name": "WeakSet", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~WeakSet", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 40, "kind": "external", "name": "ArrayBuffer", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~ArrayBuffer", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 41, "kind": "external", "name": "DataView", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~DataView", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 42, "kind": "external", "name": "JSON", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~JSON", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 43, "kind": "external", "name": "Promise", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Promise", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 44, "kind": "external", "name": "Generator", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Generator", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 45, "kind": "external", "name": "GeneratorFunction", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~GeneratorFunction", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 46, "kind": "external", "name": "Reflect", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Reflect", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 47, "kind": "external", "name": "Proxy", "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy", "memberof": "src/.external-ecmascript.js", "static": true, "longname": "src/.external-ecmascript.js~Proxy", "access": "public", "description": "", "builtinExternal": true }, { "__docId__": 48, "kind": "file", "name": "src/Collisions.mjs", "content": "import BVH from './modules/BVH.mjs';\nimport Circle from './modules/Circle.mjs';\nimport Polygon from './modules/Polygon.mjs';\nimport Point from './modules/Point.mjs';\nimport Result from './modules/Result.mjs';\nimport SAT from './modules/SAT.mjs';\n\n/**\n * A collision system used to track bodies in order to improve collision detection performance\n * @class\n */\nclass Collisions {\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\t/** @private */\n\t\tthis._bvh = new BVH();\n\t}\n\n\t/**\n\t * Creates a {@link Circle} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [radius = 0] The radius\n\t * @param {Number} [scale = 1] The scale\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Circle}\n\t */\n\tcreateCircle(x = 0, y = 0, radius = 0, scale = 1, padding = 0) {\n\t\tconst body = new Circle(x, y, radius, scale, padding);\n\n\t\tthis._bvh.insert(body);\n\n\t\treturn body;\n\t}\n\n\t/**\n\t * Creates a {@link Polygon} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Array} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t * @param {Number} [angle = 0] The starting rotation in radians\n\t * @param {Number} [scale_x = 1] The starting scale along the X axis\n\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Polygon}\n\t */\n\tcreatePolygon(x = 0, y = 0, points = [[0, 0]], angle = 0, scale_x = 1, scale_y = 1, padding = 0) {\n\t\tconst body = new Polygon(x, y, points, angle, scale_x, scale_y, padding);\n\n\t\tthis._bvh.insert(body);\n\n\t\treturn body;\n\t}\n\n\t/**\n\t * Creates a {@link Point} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Point}\n\t */\n\tcreatePoint(x = 0, y = 0, padding = 0) {\n\t\tconst body = new Point(x, y, padding);\n\n\t\tthis._bvh.insert(body);\n\n\t\treturn body;\n\t}\n\n\t/**\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t */\n\tcreateResult() {\n\t\treturn new Result();\n\t}\n\n\t/**\n\t * Creates a Result used to collect the detailed results of a collision test\n\t */\n\tstatic createResult() {\n\t\treturn new Result();\n\t}\n\n\t/**\n\t * Inserts bodies into the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t */\n\tinsert(...bodies) {\n\t\tfor(const body of bodies) {\n\t\t\tthis._bvh.insert(body, false);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Removes bodies from the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t */\n\tremove(...bodies) {\n\t\tfor(const body of bodies) {\n\t\t\tthis._bvh.remove(body, false);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Updates the collision system. This should be called before any collisions are tested.\n\t */\n\tupdate() {\n\t\tthis._bvh.update();\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Draws the bodies within the system to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t */\n\tdraw(context) {\n\t\treturn this._bvh.draw(context);\n\t}\n\n\t/**\n\t * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t */\n\tdrawBVH(context) {\n\t\treturn this._bvh.drawBVH(context);\n\t}\n\n\t/**\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test for potential collisions against\n\t * @returns {Array}\n\t */\n\tpotentials(body) {\n\t\treturn this._bvh.potentials(body);\n\t}\n\n\t/**\n\t * Determines if two bodies are colliding\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t */\n\tcollides(source, target, result = null, aabb = true) {\n\t\treturn SAT(source, target, result, aabb);\n\t}\n};\n\nexport {\n\tCollisions as default,\n\tCollisions,\n\tResult,\n\tCircle,\n\tPolygon,\n\tPoint,\n};\n", "static": true, "longname": "/mnt/c/Users/sam/projects/Collisions/src/Collisions.mjs", "access": "public", "description": null, "lineNumber": 1 }, { "__docId__": 49, "kind": "class", "name": "Collisions", "memberof": "src/Collisions.mjs", "static": true, "longname": "src/Collisions.mjs~Collisions", "access": "public", "export": true, "importPath": "collisions", "importStyle": "{Collisions}", "description": "A collision system used to track bodies in order to improve collision detection performance", "lineNumber": 12, "unknown": [ { "tagName": "@class", "tagValue": "" } ], "interface": false }, { "__docId__": 50, "kind": "constructor", "name": "constructor", "memberof": "src/Collisions.mjs~Collisions", "generator": false, "async": false, "static": false, "longname": "src/Collisions.mjs~Collisions#constructor", "access": "public", "description": "", "lineNumber": 16, "unknown": [ { "tagName": "@constructor", "tagValue": "" } ] }, { "__docId__": 51, "kind": "member", "name": "_bvh", "memberof": "src/Collisions.mjs~Collisions", "static": false, "longname": "src/Collisions.mjs~Collisions#_bvh", "access": "private", "description": null, "lineNumber": 18, "ignore": true }, { "__docId__": 52, "kind": "method", "name": "createCircle", "memberof": "src/Collisions.mjs~Collisions", "generator": false, "async": false, "static": false, "longname": "src/Collisions.mjs~Collisions#createCircle", "access": "public", "description": "Creates a {@link Circle} and inserts it into the collision system", "lineNumber": 30, "unknown": [ { "tagName": "@returns", "tagValue": "{Circle}" } ], "params": [ { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "x", "description": "The starting X coordinate" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "y", "description": "The starting Y coordinate" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "radius", "description": "The radius" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 1", "defaultRaw": 1, "name": "scale", "description": "The scale" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "padding", "description": "The amount to pad the bounding volume when testing for potential collisions" } ], "return": { "nullable": null, "types": [ "Circle" ], "spread": false, "description": "" } }, { "__docId__": 53, "kind": "method", "name": "createPolygon", "memberof": "src/Collisions.mjs~Collisions", "generator": false, "async": false, "static": false, "longname": "src/Collisions.mjs~Collisions#createPolygon", "access": "public", "description": "Creates a {@link Polygon} and inserts it into the collision system", "lineNumber": 49, "unknown": [ { "tagName": "@returns", "tagValue": "{Polygon}" } ], "params": [ { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "x", "description": "The starting X coordinate" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "y", "description": "The starting Y coordinate" }, { "nullable": null, "types": [ "Array" ], "spread": false, "optional": true, "defaultValue": " []", "defaultRaw": [], "name": "points", "description": "An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "angle", "description": "The starting rotation in radians" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 1", "defaultRaw": 1, "name": "scale_x", "description": "The starting scale along the X axis" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 1", "defaultRaw": 1, "name": "scale_y", "description": "The starting scale long the Y axis" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "padding", "description": "The amount to pad the bounding volume when testing for potential collisions" } ], "return": { "nullable": null, "types": [ "Polygon" ], "spread": false, "description": "" } }, { "__docId__": 54, "kind": "method", "name": "createPoint", "memberof": "src/Collisions.mjs~Collisions", "generator": false, "async": false, "static": false, "longname": "src/Collisions.mjs~Collisions#createPoint", "access": "public", "description": "Creates a {@link Point} and inserts it into the collision system", "lineNumber": 64, "unknown": [ { "tagName": "@returns", "tagValue": "{Point}" } ], "params": [ { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "x", "description": "The starting X coordinate" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "y", "description": "The starting Y coordinate" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "padding", "description": "The amount to pad the bounding volume when testing for potential collisions" } ], "return": { "nullable": null, "types": [ "Point" ], "spread": false, "description": "" } }, { "__docId__": 55, "kind": "method", "name": "createResult", "memberof": "src/Collisions.mjs~Collisions", "generator": false, "async": false, "static": false, "longname": "src/Collisions.mjs~Collisions#createResult", "access": "public", "description": "Creates a {@link Result} used to collect the detailed results of a collision test", "lineNumber": 75 }, { "__docId__": 56, "kind": "method", "name": "createResult", "memberof": "src/Collisions.mjs~Collisions", "generator": false, "async": false, "static": true, "longname": "src/Collisions.mjs~Collisions.createResult", "access": "public", "description": "Creates a Result used to collect the detailed results of a collision test", "lineNumber": 82 }, { "__docId__": 57, "kind": "method", "name": "insert", "memberof": "src/Collisions.mjs~Collisions", "generator": false, "async": false, "static": false, "longname": "src/Collisions.mjs~Collisions#insert", "access": "public", "description": "Inserts bodies into the collision system", "lineNumber": 90, "params": [ { "nullable": null, "types": [ "...Circle", "...Polygon", "...Point" ], "spread": true, "optional": false, "name": "bodies", "description": "" } ] }, { "__docId__": 58, "kind": "method", "name": "remove", "memberof": "src/Collisions.mjs~Collisions", "generator": false, "async": false, "static": false, "longname": "src/Collisions.mjs~Collisions#remove", "access": "public", "description": "Removes bodies from the collision system", "lineNumber": 102, "params": [ { "nullable": null, "types": [ "...Circle", "...Polygon", "...Point" ], "spread": true, "optional": false, "name": "bodies", "description": "" } ] }, { "__docId__": 59, "kind": "method", "name": "update", "memberof": "src/Collisions.mjs~Collisions", "generator": false, "async": false, "static": false, "longname": "src/Collisions.mjs~Collisions#update", "access": "public", "description": "Updates the collision system. This should be called before any collisions are tested.", "lineNumber": 113 }, { "__docId__": 60, "kind": "method", "name": "draw", "memberof": "src/Collisions.mjs~Collisions", "generator": false, "async": false, "static": false, "longname": "src/Collisions.mjs~Collisions#draw", "access": "public", "description": "Draws the bodies within the system to a CanvasRenderingContext2D's current path", "lineNumber": 123, "params": [ { "nullable": null, "types": [ "CanvasRenderingContext2D" ], "spread": false, "optional": false, "name": "context", "description": "The context to draw to" } ] }, { "__docId__": 61, "kind": "method", "name": "drawBVH", "memberof": "src/Collisions.mjs~Collisions", "generator": false, "async": false, "static": false, "longname": "src/Collisions.mjs~Collisions#drawBVH", "access": "public", "description": "Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.", "lineNumber": 131, "params": [ { "nullable": null, "types": [ "CanvasRenderingContext2D" ], "spread": false, "optional": false, "name": "context", "description": "The context to draw to" } ] }, { "__docId__": 62, "kind": "method", "name": "potentials", "memberof": "src/Collisions.mjs~Collisions", "generator": false, "async": false, "static": false, "longname": "src/Collisions.mjs~Collisions#potentials", "access": "public", "description": "Returns a list of potential collisions for a body", "lineNumber": 140, "unknown": [ { "tagName": "@returns", "tagValue": "{Array}" } ], "params": [ { "nullable": null, "types": [ "Circle", "Polygon", "Point" ], "spread": false, "optional": false, "name": "body", "description": "The body to test for potential collisions against" } ], "return": { "nullable": null, "types": [ "Array" ], "spread": false, "description": "" } }, { "__docId__": 63, "kind": "method", "name": "collides", "memberof": "src/Collisions.mjs~Collisions", "generator": false, "async": false, "static": false, "longname": "src/Collisions.mjs~Collisions#collides", "access": "public", "description": "Determines if two bodies are colliding", "lineNumber": 151, "unknown": [ { "tagName": "@returns", "tagValue": "{Boolean}" } ], "params": [ { "nullable": null, "types": [ "Circle", "Polygon", "Point" ], "spread": false, "optional": false, "name": "target", "description": "The target body to test against" }, { "nullable": null, "types": [ "Result" ], "spread": false, "optional": true, "defaultValue": " null", "defaultRaw": null, "name": "result", "description": "A Result object on which to store information about the collision" }, { "nullable": null, "types": [ "Boolean" ], "spread": false, "optional": true, "defaultValue": " true", "defaultRaw": true, "name": "aabb", "description": "Set to false to skip the AABB test (useful if you use your own potential collision heuristic)" } ], "return": { "nullable": null, "types": [ "Boolean" ], "spread": false, "description": "" } }, { "__docId__": 64, "kind": "file", "name": "src/modules/BVH.mjs", "content": "import BVHBranch from './BVHBranch.mjs';\n\n/**\n * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly\n * @class\n * @private\n */\nexport default class BVH {\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\t/** @private */\n\t\tthis._hierarchy = null;\n\n\t\t/** @private */\n\t\tthis._bodies = [];\n\n\t\t/** @private */\n\t\tthis._dirty_branches = [];\n\t}\n\n\t/**\n\t * Inserts a body into the BVH\n\t * @param {Circle|Polygon|Point} body The body to insert\n\t * @param {Boolean} [updating = false] Set to true if the body already exists in the BVH (used internally when updating the body's position)\n\t */\n\tinsert(body, updating = false) {\n\t\tif(!updating) {\n\t\t\tconst bvh = body._bvh;\n\n\t\t\tif(bvh && bvh !== this) {\n\t\t\t\tthrow new Error('Body belongs to another collision system');\n\t\t\t}\n\n\t\t\tbody._bvh = this;\n\t\t\tthis._bodies.push(body);\n\t\t}\n\n\t\tconst polygon = body._polygon;\n\t\tconst body_x = body.x;\n\t\tconst body_y = body.y;\n\n\t\tif(polygon) {\n\t\t\tif(\n\t\t\t\tbody._dirty_coords ||\n\t\t\t\tbody.x !== body._x ||\n\t\t\t\tbody.y !== body._y ||\n\t\t\t\tbody.angle !== body._angle ||\n\t\t\t\tbody.scale_x !== body._scale_x ||\n\t\t\t\tbody.scale_y !== body._scale_y\n\t\t\t) {\n\t\t\t\tbody._calculateCoords();\n\t\t\t}\n\t\t}\n\n\t\tconst padding = body._bvh_padding;\n\t\tconst radius = polygon ? 0 : body.radius * body.scale;\n\t\tconst body_min_x = (polygon ? body._min_x : body_x - radius) - padding;\n\t\tconst body_min_y = (polygon ? body._min_y : body_y - radius) - padding;\n\t\tconst body_max_x = (polygon ? body._max_x : body_x + radius) + padding;\n\t\tconst body_max_y = (polygon ? body._max_y : body_y + radius) + padding;\n\n\t\tbody._bvh_min_x = body_min_x;\n\t\tbody._bvh_min_y = body_min_y;\n\t\tbody._bvh_max_x = body_max_x;\n\t\tbody._bvh_max_y = body_max_y;\n\n\t\tlet current = this._hierarchy;\n\t\tlet sort = 0;\n\n\t\tif(!current) {\n\t\t\tthis._hierarchy = body;\n\t\t}\n\t\telse {\n\t\t\twhile(true) {\n\t\t\t\t// Branch\n\t\t\t\tif(current._bvh_branch) {\n\t\t\t\t\tconst left = current._bvh_left;\n\t\t\t\t\tconst left_min_y = left._bvh_min_y;\n\t\t\t\t\tconst left_max_x = left._bvh_max_x;\n\t\t\t\t\tconst left_max_y = left._bvh_max_y;\n\t\t\t\t\tconst left_new_min_x = body_min_x < left._bvh_min_x ? body_min_x : left._bvh_min_x;\n\t\t\t\t\tconst left_new_min_y = body_min_y < left_min_y ? body_min_y : left_min_y;\n\t\t\t\t\tconst left_new_max_x = body_max_x > left_max_x ? body_max_x : left_max_x;\n\t\t\t\t\tconst left_new_max_y = body_max_y > left_max_y ? body_max_y : left_max_y;\n\t\t\t\t\tconst left_volume = (left_max_x - left._bvh_min_x) * (left_max_y - left_min_y);\n\t\t\t\t\tconst left_new_volume = (left_new_max_x - left_new_min_x) * (left_new_max_y - left_new_min_y);\n\t\t\t\t\tconst left_difference = left_new_volume - left_volume;\n\n\t\t\t\t\tconst right = current._bvh_right;\n\t\t\t\t\tconst right_min_x = right._bvh_min_x;\n\t\t\t\t\tconst right_min_y = right._bvh_min_y;\n\t\t\t\t\tconst right_max_x = right._bvh_max_x;\n\t\t\t\t\tconst right_max_y = right._bvh_max_y;\n\t\t\t\t\tconst right_new_min_x = body_min_x < right_min_x ? body_min_x : right_min_x;\n\t\t\t\t\tconst right_new_min_y = body_min_y < right_min_y ? body_min_y : right_min_y;\n\t\t\t\t\tconst right_new_max_x = body_max_x > right_max_x ? body_max_x : right_max_x;\n\t\t\t\t\tconst right_new_max_y = body_max_y > right_max_y ? body_max_y : right_max_y;\n\t\t\t\t\tconst right_volume = (right_max_x - right_min_x) * (right_max_y - right_min_y);\n\t\t\t\t\tconst right_new_volume = (right_new_max_x - right_new_min_x) * (right_new_max_y - right_new_min_y);\n\t\t\t\t\tconst right_difference = right_new_volume - right_volume;\n\n\t\t\t\t\tcurrent._bvh_sort = sort++;\n\t\t\t\t\tcurrent._bvh_min_x = left_new_min_x < right_new_min_x ? left_new_min_x : right_new_min_x;\n\t\t\t\t\tcurrent._bvh_min_y = left_new_min_y < right_new_min_y ? left_new_min_y : right_new_min_y;\n\t\t\t\t\tcurrent._bvh_max_x = left_new_max_x > right_new_max_x ? left_new_max_x : right_new_max_x;\n\t\t\t\t\tcurrent._bvh_max_y = left_new_max_y > right_new_max_y ? left_new_max_y : right_new_max_y;\n\n\t\t\t\t\tcurrent = left_difference <= right_difference ? left : right;\n\t\t\t\t}\n\t\t\t\t// Leaf\n\t\t\t\telse {\n\t\t\t\t\tconst grandparent = current._bvh_parent;\n\t\t\t\t\tconst parent_min_x = current._bvh_min_x;\n\t\t\t\t\tconst parent_min_y = current._bvh_min_y;\n\t\t\t\t\tconst parent_max_x = current._bvh_max_x;\n\t\t\t\t\tconst parent_max_y = current._bvh_max_y;\n\t\t\t\t\tconst new_parent = current._bvh_parent = body._bvh_parent = BVHBranch.getBranch();\n\n\t\t\t\t\tnew_parent._bvh_parent = grandparent;\n\t\t\t\t\tnew_parent._bvh_left = current;\n\t\t\t\t\tnew_parent._bvh_right = body;\n\t\t\t\t\tnew_parent._bvh_sort = sort++;\n\t\t\t\t\tnew_parent._bvh_min_x = body_min_x < parent_min_x ? body_min_x : parent_min_x;\n\t\t\t\t\tnew_parent._bvh_min_y = body_min_y < parent_min_y ? body_min_y : parent_min_y;\n\t\t\t\t\tnew_parent._bvh_max_x = body_max_x > parent_max_x ? body_max_x : parent_max_x;\n\t\t\t\t\tnew_parent._bvh_max_y = body_max_y > parent_max_y ? body_max_y : parent_max_y;\n\n\t\t\t\t\tif(!grandparent) {\n\t\t\t\t\t\tthis._hierarchy = new_parent;\n\t\t\t\t\t}\n\t\t\t\t\telse if(grandparent._bvh_left === current) {\n\t\t\t\t\t\tgrandparent._bvh_left = new_parent;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tgrandparent._bvh_right = new_parent;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Removes a body from the BVH\n\t * @param {Circle|Polygon|Point} body The body to remove\n\t * @param {Boolean} [updating = false] Set to true if this is a temporary removal (used internally when updating the body's position)\n\t */\n\tremove(body, updating = false) {\n\t\tif(!updating) {\n\t\t\tconst bvh = body._bvh;\n\n\t\t\tif(bvh && bvh !== this) {\n\t\t\t\tthrow new Error('Body belongs to another collision system');\n\t\t\t}\n\n\t\t\tbody._bvh = null;\n\t\t\tthis._bodies.splice(this._bodies.indexOf(body), 1);\n\t\t}\n\n\t\tif(this._hierarchy === body) {\n\t\t\tthis._hierarchy = null;\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst parent = body._bvh_parent;\n\t\tconst grandparent = parent._bvh_parent;\n\t\tconst parent_left = parent._bvh_left;\n\t\tconst sibling = parent_left === body ? parent._bvh_right : parent_left;\n\n\t\tsibling._bvh_parent = grandparent;\n\n\t\tif(sibling._bvh_branch) {\n\t\t\tsibling._bvh_sort = parent._bvh_sort;\n\t\t}\n\n\t\tif(grandparent) {\n\t\t\tif(grandparent._bvh_left === parent) {\n\t\t\t\tgrandparent._bvh_left = sibling;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tgrandparent._bvh_right = sibling;\n\t\t\t}\n\n\t\t\tlet branch = grandparent;\n\n\t\t\twhile(branch) {\n\t\t\t\tconst left = branch._bvh_left;\n\t\t\t\tconst left_min_x = left._bvh_min_x;\n\t\t\t\tconst left_min_y = left._bvh_min_y;\n\t\t\t\tconst left_max_x = left._bvh_max_x;\n\t\t\t\tconst left_max_y = left._bvh_max_y;\n\n\t\t\t\tconst right = branch._bvh_right;\n\t\t\t\tconst right_min_x = right._bvh_min_x;\n\t\t\t\tconst right_min_y = right._bvh_min_y;\n\t\t\t\tconst right_max_x = right._bvh_max_x;\n\t\t\t\tconst right_max_y = right._bvh_max_y;\n\n\t\t\t\tbranch._bvh_min_x = left_min_x < right_min_x ? left_min_x : right_min_x;\n\t\t\t\tbranch._bvh_min_y = left_min_y < right_min_y ? left_min_y : right_min_y;\n\t\t\t\tbranch._bvh_max_x = left_max_x > right_max_x ? left_max_x : right_max_x;\n\t\t\t\tbranch._bvh_max_y = left_max_y > right_max_y ? left_max_y : right_max_y;\n\n\t\t\t\tbranch = branch._bvh_parent;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis._hierarchy = sibling;\n\t\t}\n\n\t\tBVHBranch.releaseBranch(parent);\n\t}\n\n\t/**\n\t * Updates the BVH. Moved bodies are removed/inserted.\n\t */\n\tupdate() {\n\t\tconst bodies = this._bodies;\n\t\tconst count = bodies.length;\n\n\t\tfor(let i = 0; i < count; ++i) {\n\t\t\tconst body = bodies[i];\n\n\t\t\tlet update = false;\n\n\t\t\tif(!update && body.padding !== body._bvh_padding) {\n\t\t\t\tbody._bvh_padding = body.padding;\n\t\t\t\tupdate = true;\n\t\t\t}\n\n\t\t\tif(!update) {\n\t\t\t\tconst polygon = body._polygon;\n\n\t\t\t\tif(polygon) {\n\t\t\t\t\tif(\n\t\t\t\t\t\tbody._dirty_coords ||\n\t\t\t\t\t\tbody.x !== body._x ||\n\t\t\t\t\t\tbody.y !== body._y ||\n\t\t\t\t\t\tbody.angle !== body._angle ||\n\t\t\t\t\t\tbody.scale_x !== body._scale_x ||\n\t\t\t\t\t\tbody.scale_y !== body._scale_y\n\t\t\t\t\t) {\n\t\t\t\t\t\tbody._calculateCoords();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst x = body.x;\n\t\t\t\tconst y = body.y;\n\t\t\t\tconst radius = polygon ? 0 : body.radius * body.scale;\n\t\t\t\tconst min_x = polygon ? body._min_x : x - radius;\n\t\t\t\tconst min_y = polygon ? body._min_y : y - radius;\n\t\t\t\tconst max_x = polygon ? body._max_x : x + radius;\n\t\t\t\tconst max_y = polygon ? body._max_y : y + radius;\n\n\t\t\t\tupdate = min_x < body._bvh_min_x || min_y < body._bvh_min_y || max_x > body._bvh_max_x || max_y > body._bvh_max_y;\n\t\t\t}\n\n\t\t\tif(update) {\n\t\t\t\tthis.remove(body, true);\n\t\t\t\tthis.insert(body, true);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test\n\t * @returns {Array}\n\t */\n\tpotentials(body) {\n\t\tconst results = [];\n\t\tconst min_x = body._bvh_min_x;\n\t\tconst min_y = body._bvh_min_y;\n\t\tconst max_x = body._bvh_max_x;\n\t\tconst max_y = body._bvh_max_y;\n\n\t\tlet current = this._hierarchy;\n\t\tlet traverse_left = true;\n\n\t\tif(!current || !current._bvh_branch) {\n\t\t\treturn results;\n\t\t}\n\n\t\twhile(current) {\n\t\t\tif(traverse_left) {\n\t\t\t\ttraverse_left = false;\n\n\t\t\t\tlet left = current._bvh_branch ? current._bvh_left : null;\n\n\t\t\t\twhile(\n\t\t\t\t\tleft &&\n\t\t\t\t\tleft._bvh_max_x >= min_x &&\n\t\t\t\t\tleft._bvh_max_y >= min_y &&\n\t\t\t\t\tleft._bvh_min_x <= max_x &&\n\t\t\t\t\tleft._bvh_min_y <= max_y\n\t\t\t\t) {\n\t\t\t\t\tcurrent = left;\n\t\t\t\t\tleft = current._bvh_branch ? current._bvh_left : null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst branch = current._bvh_branch;\n\t\t\tconst right = branch ? current._bvh_right : null;\n\n\t\t\tif(\n\t\t\t\tright &&\n\t\t\t\tright._bvh_max_x > min_x &&\n\t\t\t\tright._bvh_max_y > min_y &&\n\t\t\t\tright._bvh_min_x < max_x &&\n\t\t\t\tright._bvh_min_y < max_y\n\t\t\t) {\n\t\t\t\tcurrent = right;\n\t\t\t\ttraverse_left = true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif(!branch && current !== body) {\n\t\t\t\t\tresults.push(current);\n\t\t\t\t}\n\n\t\t\t\tlet parent = current._bvh_parent;\n\n\t\t\t\tif(parent) {\n\t\t\t\t\twhile(parent && parent._bvh_right === current) {\n\t\t\t\t\t\tcurrent = parent;\n\t\t\t\t\t\tparent = current._bvh_parent;\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrent = parent;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn results;\n\t}\n\n\t/**\n\t * Draws the bodies within the BVH to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t */\n\tdraw(context) {\n\t\tconst bodies = this._bodies;\n\t\tconst count = bodies.length;\n\n\t\tfor(let i = 0; i < count; ++i) {\n\t\t\tbodies[i].draw(context);\n\t\t}\n\t}\n\n\t/**\n\t * Draws the BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t */\n\tdrawBVH(context) {\n\t\tlet current = this._hierarchy;\n\t\tlet traverse_left = true;\n\n\t\twhile(current) {\n\t\t\tif(traverse_left) {\n\t\t\t\ttraverse_left = false;\n\n\t\t\t\tlet left = current._bvh_branch ? current._bvh_left : null;\n\n\t\t\t\twhile(left) {\n\t\t\t\t\tcurrent = left;\n\t\t\t\t\tleft = current._bvh_branch ? current._bvh_left : null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst branch = current._bvh_branch;\n\t\t\tconst min_x = current._bvh_min_x;\n\t\t\tconst min_y = current._bvh_min_y;\n\t\t\tconst max_x = current._bvh_max_x;\n\t\t\tconst max_y = current._bvh_max_y;\n\t\t\tconst right = branch ? current._bvh_right : null;\n\n\t\t\tcontext.moveTo(min_x, min_y);\n\t\t\tcontext.lineTo(max_x, min_y);\n\t\t\tcontext.lineTo(max_x, max_y);\n\t\t\tcontext.lineTo(min_x, max_y);\n\t\t\tcontext.lineTo(min_x, min_y);\n\n\t\t\tif(right) {\n\t\t\t\tcurrent = right;\n\t\t\t\ttraverse_left = true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet parent = current._bvh_parent;\n\n\t\t\t\tif(parent) {\n\t\t\t\t\twhile(parent && parent._bvh_right === current) {\n\t\t\t\t\t\tcurrent = parent;\n\t\t\t\t\t\tparent = current._bvh_parent;\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrent = parent;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n", "static": true, "longname": "/mnt/c/Users/sam/projects/Collisions/src/modules/BVH.mjs", "access": "public", "description": null, "lineNumber": 1 }, { "__docId__": 65, "kind": "class", "name": "BVH", "memberof": "src/modules/BVH.mjs", "static": true, "longname": "src/modules/BVH.mjs~BVH", "access": "private", "export": true, "importPath": "collisions/src/modules/BVH.mjs", "importStyle": "BVH", "description": "A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly", "lineNumber": 8, "unknown": [ { "tagName": "@class", "tagValue": "" } ], "interface": false, "ignore": true }, { "__docId__": 66, "kind": "constructor", "name": "constructor", "memberof": "src/modules/BVH.mjs~BVH", "generator": false, "async": false, "static": false, "longname": "src/modules/BVH.mjs~BVH#constructor", "access": "public", "description": "", "lineNumber": 12, "unknown": [ { "tagName": "@constructor", "tagValue": "" } ] }, { "__docId__": 67, "kind": "member", "name": "_hierarchy", "memberof": "src/modules/BVH.mjs~BVH", "static": false, "longname": "src/modules/BVH.mjs~BVH#_hierarchy", "access": "private", "description": null, "lineNumber": 14, "ignore": true }, { "__docId__": 68, "kind": "member", "name": "_bodies", "memberof": "src/modules/BVH.mjs~BVH", "static": false, "longname": "src/modules/BVH.mjs~BVH#_bodies", "access": "private", "description": null, "lineNumber": 17, "ignore": true }, { "__docId__": 69, "kind": "member", "name": "_dirty_branches", "memberof": "src/modules/BVH.mjs~BVH", "static": false, "longname": "src/modules/BVH.mjs~BVH#_dirty_branches", "access": "private", "description": null, "lineNumber": 20, "ignore": true }, { "__docId__": 70, "kind": "method", "name": "insert", "memberof": "src/modules/BVH.mjs~BVH", "generator": false, "async": false, "static": false, "longname": "src/modules/BVH.mjs~BVH#insert", "access": "public", "description": "Inserts a body into the BVH", "lineNumber": 28, "params": [ { "nullable": null, "types": [ "Circle", "Polygon", "Point" ], "spread": false, "optional": false, "name": "body", "description": "The body to insert" }, { "nullable": null, "types": [ "Boolean" ], "spread": false, "optional": true, "defaultValue": " false", "defaultRaw": false, "name": "updating", "description": "Set to true if the body already exists in the BVH (used internally when updating the body's position)" } ] }, { "__docId__": 73, "kind": "method", "name": "remove", "memberof": "src/modules/BVH.mjs~BVH", "generator": false, "async": false, "static": false, "longname": "src/modules/BVH.mjs~BVH#remove", "access": "public", "description": "Removes a body from the BVH", "lineNumber": 151, "params": [ { "nullable": null, "types": [ "Circle", "Polygon", "Point" ], "spread": false, "optional": false, "name": "body", "description": "The body to remove" }, { "nullable": null, "types": [ "Boolean" ], "spread": false, "optional": true, "defaultValue": " false", "defaultRaw": false, "name": "updating", "description": "Set to true if this is a temporary removal (used internally when updating the body's position)" } ] }, { "__docId__": 76, "kind": "method", "name": "update", "memberof": "src/modules/BVH.mjs~BVH", "generator": false, "async": false, "static": false, "longname": "src/modules/BVH.mjs~BVH#update", "access": "public", "description": "Updates the BVH. Moved bodies are removed/inserted.", "lineNumber": 221 }, { "__docId__": 77, "kind": "method", "name": "potentials", "memberof": "src/modules/BVH.mjs~BVH", "generator": false, "async": false, "static": false, "longname": "src/modules/BVH.mjs~BVH#potentials", "access": "public", "description": "Returns a list of potential collisions for a body", "lineNumber": 274, "unknown": [ { "tagName": "@returns", "tagValue": "{Array}" } ], "params": [ { "nullable": null, "types": [ "Circle", "Polygon", "Point" ], "spread": false, "optional": false, "name": "body", "description": "The body to test" } ], "return": { "nullable": null, "types": [ "Array" ], "spread": false, "description": "" } }, { "__docId__": 78, "kind": "method", "name": "draw", "memberof": "src/modules/BVH.mjs~BVH", "generator": false, "async": false, "static": false, "longname": "src/modules/BVH.mjs~BVH#draw", "access": "public", "description": "Draws the bodies within the BVH to a CanvasRenderingContext2D's current path", "lineNumber": 347, "params": [ { "nullable": null, "types": [ "CanvasRenderingContext2D" ], "spread": false, "optional": false, "name": "context", "description": "The context to draw to" } ] }, { "__docId__": 79, "kind": "method", "name": "drawBVH", "memberof": "src/modules/BVH.mjs~BVH", "generator": false, "async": false, "static": false, "longname": "src/modules/BVH.mjs~BVH#drawBVH", "access": "public", "description": "Draws the BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.", "lineNumber": 360, "params": [ { "nullable": null, "types": [ "CanvasRenderingContext2D" ], "spread": false, "optional": false, "name": "context", "description": "The context to draw to" } ] }, { "__docId__": 80, "kind": "file", "name": "src/modules/BVHBranch.mjs", "content": "/**\n * @private\n */\nconst branch_pool = [];\n\n/**\n * A branch within a BVH\n * @class\n * @private\n */\nexport default class BVHBranch {\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\t/** @private */\n\t\tthis._bvh_parent = null;\n\n\t\t/** @private */\n\t\tthis._bvh_branch = true;\n\n\t\t/** @private */\n\t\tthis._bvh_left = null;\n\n\t\t/** @private */\n\t\tthis._bvh_right = null;\n\n\t\t/** @private */\n\t\tthis._bvh_sort = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_min_x = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_min_y = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_max_x = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_max_y = 0;\n\t}\n\n\t/**\n\t * Returns a branch from the branch pool or creates a new branch\n\t * @returns {BVHBranch}\n\t */\n\tstatic getBranch() {\n\t\tif(branch_pool.length) {\n\t\t\treturn branch_pool.pop();\n\t\t}\n\n\t\treturn new BVHBranch();\n\t}\n\n\t/**\n\t * Releases a branch back into the branch pool\n\t * @param {BVHBranch} branch The branch to release\n\t */\n\tstatic releaseBranch(branch) {\n\t\tbranch_pool.push(branch);\n\t}\n\n\t/**\n\t * Sorting callback used to sort branches by deepest first\n\t * @param {BVHBranch} a The first branch\n\t * @param {BVHBranch} b The second branch\n\t * @returns {Number}\n\t */\n\tstatic sortBranches(a, b) {\n\t\treturn a.sort > b.sort ? -1 : 1;\n\t}\n};\n", "static": true, "longname": "/mnt/c/Users/sam/projects/Collisions/src/modules/BVHBranch.mjs", "access": "public", "description": null, "lineNumber": 1 }, { "__docId__": 81, "kind": "variable", "name": "branch_pool", "memberof": "src/modules/BVHBranch.mjs", "static": true, "longname": "src/modules/BVHBranch.mjs~branch_pool", "access": "private", "export": false, "importPath": "collisions/src/modules/BVHBranch.mjs", "importStyle": null, "description": "", "lineNumber": 4, "ignore": true }, { "__docId__": 82, "kind": "class", "name": "BVHBranch", "memberof": "src/modules/BVHBranch.mjs", "static": true, "longname": "src/modules/BVHBranch.mjs~BVHBranch", "access": "private", "export": true, "importPath": "collisions/src/modules/BVHBranch.mjs", "importStyle": "BVHBranch", "description": "A branch within a BVH", "lineNumber": 11, "unknown": [ { "tagName": "@class", "tagValue": "" } ], "interface": false, "ignore": true }, { "__docId__": 83, "kind": "constructor", "name": "constructor", "memberof": "src/modules/BVHBranch.mjs~BVHBranch", "generator": false, "async": false, "static": false, "longname": "src/modules/BVHBranch.mjs~BVHBranch#constructor", "access": "public", "description": "", "lineNumber": 15, "unknown": [ { "tagName": "@constructor", "tagValue": "" } ] }, { "__docId__": 84, "kind": "member", "name": "_bvh_parent", "memberof": "src/modules/BVHBranch.mjs~BVHBranch", "static": false, "longname": "src/modules/BVHBranch.mjs~BVHBranch#_bvh_parent", "access": "private", "description": null, "lineNumber": 17, "ignore": true }, { "__docId__": 85, "kind": "member", "name": "_bvh_branch", "memberof": "src/modules/BVHBranch.mjs~BVHBranch", "static": false, "longname": "src/modules/BVHBranch.mjs~BVHBranch#_bvh_branch", "access": "private", "description": null, "lineNumber": 20, "ignore": true }, { "__docId__": 86, "kind": "member", "name": "_bvh_left", "memberof": "src/modules/BVHBranch.mjs~BVHBranch", "static": false, "longname": "src/modules/BVHBranch.mjs~BVHBranch#_bvh_left", "access": "private", "description": null, "lineNumber": 23, "ignore": true }, { "__docId__": 87, "kind": "member", "name": "_bvh_right", "memberof": "src/modules/BVHBranch.mjs~BVHBranch", "static": false, "longname": "src/modules/BVHBranch.mjs~BVHBranch#_bvh_right", "access": "private", "description": null, "lineNumber": 26, "ignore": true }, { "__docId__": 88, "kind": "member", "name": "_bvh_sort", "memberof": "src/modules/BVHBranch.mjs~BVHBranch", "static": false, "longname": "src/modules/BVHBranch.mjs~BVHBranch#_bvh_sort", "access": "private", "description": null, "lineNumber": 29, "ignore": true }, { "__docId__": 89, "kind": "member", "name": "_bvh_min_x", "memberof": "src/modules/BVHBranch.mjs~BVHBranch", "static": false, "longname": "src/modules/BVHBranch.mjs~BVHBranch#_bvh_min_x", "access": "private", "description": null, "lineNumber": 32, "ignore": true }, { "__docId__": 90, "kind": "member", "name": "_bvh_min_y", "memberof": "src/modules/BVHBranch.mjs~BVHBranch", "static": false, "longname": "src/modules/BVHBranch.mjs~BVHBranch#_bvh_min_y", "access": "private", "description": null, "lineNumber": 35, "ignore": true }, { "__docId__": 91, "kind": "member", "name": "_bvh_max_x", "memberof": "src/modules/BVHBranch.mjs~BVHBranch", "static": false, "longname": "src/modules/BVHBranch.mjs~BVHBranch#_bvh_max_x", "access": "private", "description": null, "lineNumber": 38, "ignore": true }, { "__docId__": 92, "kind": "member", "name": "_bvh_max_y", "memberof": "src/modules/BVHBranch.mjs~BVHBranch", "static": false, "longname": "src/modules/BVHBranch.mjs~BVHBranch#_bvh_max_y", "access": "private", "description": null, "lineNumber": 41, "ignore": true }, { "__docId__": 93, "kind": "method", "name": "getBranch", "memberof": "src/modules/BVHBranch.mjs~BVHBranch", "generator": false, "async": false, "static": true, "longname": "src/modules/BVHBranch.mjs~BVHBranch.getBranch", "access": "public", "description": "Returns a branch from the branch pool or creates a new branch", "lineNumber": 48, "unknown": [ { "tagName": "@returns", "tagValue": "{BVHBranch}" } ], "return": { "nullable": null, "types": [ "BVHBranch" ], "spread": false, "description": "" } }, { "__docId__": 94, "kind": "method", "name": "releaseBranch", "memberof": "src/modules/BVHBranch.mjs~BVHBranch", "generator": false, "async": false, "static": true, "longname": "src/modules/BVHBranch.mjs~BVHBranch.releaseBranch", "access": "public", "description": "Releases a branch back into the branch pool", "lineNumber": 60, "params": [ { "nullable": null, "types": [ "BVHBranch" ], "spread": false, "optional": false, "name": "branch", "description": "The branch to release" } ] }, { "__docId__": 95, "kind": "method", "name": "sortBranches", "memberof": "src/modules/BVHBranch.mjs~BVHBranch", "generator": false, "async": false, "static": true, "longname": "src/modules/BVHBranch.mjs~BVHBranch.sortBranches", "access": "public", "description": "Sorting callback used to sort branches by deepest first", "lineNumber": 70, "unknown": [ { "tagName": "@returns", "tagValue": "{Number}" } ], "params": [ { "nullable": null, "types": [ "BVHBranch" ], "spread": false, "optional": false, "name": "a", "description": "The first branch" }, { "nullable": null, "types": [ "BVHBranch" ], "spread": false, "optional": false, "name": "b", "description": "The second branch" } ], "return": { "nullable": null, "types": [ "Number" ], "spread": false, "description": "" } }, { "__docId__": 96, "kind": "file", "name": "src/modules/Body.mjs", "content": "import Result from './Result.mjs';\nimport SAT from './SAT.mjs';\n\n/**\n * The base class for bodies used to detect collisions\n * @class\n * @protected\n */\nexport default class Body {\n\t/**\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t */\n\tconstructor(x = 0, y = 0, padding = 0) {\n\t\t/**\n\t\t * @desc The X coordinate of the body\n\t\t * @type {Number}\n\t\t */\n\t\tthis.x = x;\n\n\t\t/**\n\t\t * @desc The Y coordinate of the body\n\t\t * @type {Number}\n\t\t */\n\t\tthis.y = y;\n\n\t\t/**\n\t\t * @desc The amount to pad the bounding volume when testing for potential collisions\n\t\t * @type {Number}\n\t\t */\n\t\tthis.padding = padding;\n\n\t\t/** @private */\n\t\tthis._circle = false;\n\n\t\t/** @private */\n\t\tthis._polygon = false;\n\n\t\t/** @private */\n\t\tthis._point = false;\n\n\t\t/** @private */\n\t\tthis._bvh = null;\n\n\t\t/** @private */\n\t\tthis._bvh_parent = null;\n\n\t\t/** @private */\n\t\tthis._bvh_branch = false;\n\n\t\t/** @private */\n\t\tthis._bvh_padding = padding;\n\n\t\t/** @private */\n\t\tthis._bvh_min_x = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_min_y = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_max_x = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_max_y = 0;\n\t}\n\n\t/**\n\t * Determines if the body is colliding with another body\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t */\n\tcollides(target, result = null, aabb = true) {\n\t\treturn SAT(this, target, result, aabb);\n\t}\n\n\t/**\n\t * Returns a list of potential collisions\n\t * @returns {Array}\n\t */\n\tpotentials() {\n\t\tconst bvh = this._bvh;\n\n\t\tif(bvh === null) {\n\t\t\tthrow new Error('Body does not belong to a collision system');\n\t\t}\n\n\t\treturn bvh.potentials(this);\n\t}\n\n\t/**\n\t * Removes the body from its current collision system\n\t */\n\tremove() {\n\t\tconst bvh = this._bvh;\n\n\t\tif(bvh) {\n\t\t\tbvh.remove(this, false);\n\t\t}\n\t}\n\n\t/**\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t */\n\tcreateResult() {\n\t\treturn new Result();\n\t}\n\n\t/**\n\t * Creates a Result used to collect the detailed results of a collision test\n\t */\n\tstatic createResult() {\n\t\treturn new Result();\n\t}\n};\n", "static": true, "longname": "/mnt/c/Users/sam/projects/Collisions/src/modules/Body.mjs", "access": "public", "description": null, "lineNumber": 1 }, { "__docId__": 97, "kind": "class", "name": "Body", "memberof": "src/modules/Body.mjs", "static": true, "longname": "src/modules/Body.mjs~Body", "access": "protected", "export": true, "importPath": "collisions/src/modules/Body.mjs", "importStyle": "Body", "description": "The base class for bodies used to detect collisions", "lineNumber": 9, "unknown": [ { "tagName": "@class", "tagValue": "" } ], "interface": false }, { "__docId__": 98, "kind": "constructor", "name": "constructor", "memberof": "src/modules/Body.mjs~Body", "generator": false, "async": false, "static": false, "longname": "src/modules/Body.mjs~Body#constructor", "access": "public", "description": "", "lineNumber": 16, "unknown": [ { "tagName": "@constructor", "tagValue": "" } ], "params": [ { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "x", "description": "The starting X coordinate" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "y", "description": "The starting Y coordinate" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "padding", "description": "The amount to pad the bounding volume when testing for potential collisions" } ] }, { "__docId__": 99, "kind": "member", "name": "x", "memberof": "src/modules/Body.mjs~Body", "static": false, "longname": "src/modules/Body.mjs~Body#x", "access": "public", "description": "The X coordinate of the body", "lineNumber": 21, "type": { "nullable": null, "types": [ "Number" ], "spread": false, "description": null } }, { "__docId__": 100, "kind": "member", "name": "y", "memberof": "src/modules/Body.mjs~Body", "static": false, "longname": "src/modules/Body.mjs~Body#y", "access": "public", "description": "The Y coordinate of the body", "lineNumber": 27, "type": { "nullable": null, "types": [ "Number" ], "spread": false, "description": null } }, { "__docId__": 101, "kind": "member", "name": "padding", "memberof": "src/modules/Body.mjs~Body", "static": false, "longname": "src/modules/Body.mjs~Body#padding", "access": "public", "description": "The amount to pad the bounding volume when testing for potential collisions", "lineNumber": 33, "type": { "nullable": null, "types": [ "Number" ], "spread": false, "description": null } }, { "__docId__": 102, "kind": "member", "name": "_circle", "memberof": "src/modules/Body.mjs~Body", "static": false, "longname": "src/modules/Body.mjs~Body#_circle", "access": "private", "description": null, "lineNumber": 36, "ignore": true }, { "__docId__": 103, "kind": "member", "name": "_polygon", "memberof": "src/modules/Body.mjs~Body", "static": false, "longname": "src/modules/Body.mjs~Body#_polygon", "access": "private", "description": null, "lineNumber": 39, "ignore": true }, { "__docId__": 104, "kind": "member", "name": "_point", "memberof": "src/modules/Body.mjs~Body", "static": false, "longname": "src/modules/Body.mjs~Body#_point", "access": "private", "description": null, "lineNumber": 42, "ignore": true }, { "__docId__": 105, "kind": "member", "name": "_bvh", "memberof": "src/modules/Body.mjs~Body", "static": false, "longname": "src/modules/Body.mjs~Body#_bvh", "access": "private", "description": null, "lineNumber": 45, "ignore": true }, { "__docId__": 106, "kind": "member", "name": "_bvh_parent", "memberof": "src/modules/Body.mjs~Body", "static": false, "longname": "src/modules/Body.mjs~Body#_bvh_parent", "access": "private", "description": null, "lineNumber": 48, "ignore": true }, { "__docId__": 107, "kind": "member", "name": "_bvh_branch", "memberof": "src/modules/Body.mjs~Body", "static": false, "longname": "src/modules/Body.mjs~Body#_bvh_branch", "access": "private", "description": null, "lineNumber": 51, "ignore": true }, { "__docId__": 108, "kind": "member", "name": "_bvh_padding", "memberof": "src/modules/Body.mjs~Body", "static": false, "longname": "src/modules/Body.mjs~Body#_bvh_padding", "access": "private", "description": null, "lineNumber": 54, "ignore": true }, { "__docId__": 109, "kind": "member", "name": "_bvh_min_x", "memberof": "src/modules/Body.mjs~Body", "static": false, "longname": "src/modules/Body.mjs~Body#_bvh_min_x", "access": "private", "description": null, "lineNumber": 57, "ignore": true }, { "__docId__": 110, "kind": "member", "name": "_bvh_min_y", "memberof": "src/modules/Body.mjs~Body", "static": false, "longname": "src/modules/Body.mjs~Body#_bvh_min_y", "access": "private", "description": null, "lineNumber": 60, "ignore": true }, { "__docId__": 111, "kind": "member", "name": "_bvh_max_x", "memberof": "src/modules/Body.mjs~Body", "static": false, "longname": "src/modules/Body.mjs~Body#_bvh_max_x", "access": "private", "description": null, "lineNumber": 63, "ignore": true }, { "__docId__": 112, "kind": "member", "name": "_bvh_max_y", "memberof": "src/modules/Body.mjs~Body", "static": false, "longname": "src/modules/Body.mjs~Body#_bvh_max_y", "access": "private", "description": null, "lineNumber": 66, "ignore": true }, { "__docId__": 113, "kind": "method", "name": "collides", "memberof": "src/modules/Body.mjs~Body", "generator": false, "async": false, "static": false, "longname": "src/modules/Body.mjs~Body#collides", "access": "public", "description": "Determines if the body is colliding with another body", "lineNumber": 76, "unknown": [ { "tagName": "@returns", "tagValue": "{Boolean}" } ], "params": [ { "nullable": null, "types": [ "Circle", "Polygon", "Point" ], "spread": false, "optional": false, "name": "target", "description": "The target body to test against" }, { "nullable": null, "types": [ "Result" ], "spread": false, "optional": true, "defaultValue": " null", "defaultRaw": null, "name": "result", "description": "A Result object on which to store information about the collision" }, { "nullable": null, "types": [ "Boolean" ], "spread": false, "optional": true, "defaultValue": " true", "defaultRaw": true, "name": "aabb", "description": "Set to false to skip the AABB test (useful if you use your own potential collision heuristic)" } ], "return": { "nullable": null, "types": [ "Boolean" ], "spread": false, "description": "" } }, { "__docId__": 114, "kind": "method", "name": "potentials", "memberof": "src/modules/Body.mjs~Body", "generator": false, "async": false, "static": false, "longname": "src/modules/Body.mjs~Body#potentials", "access": "public", "description": "Returns a list of potential collisions", "lineNumber": 84, "unknown": [ { "tagName": "@returns", "tagValue": "{Array}" } ], "return": { "nullable": null, "types": [ "Array" ], "spread": false, "description": "" } }, { "__docId__": 115, "kind": "method", "name": "remove", "memberof": "src/modules/Body.mjs~Body", "generator": false, "async": false, "static": false, "longname": "src/modules/Body.mjs~Body#remove", "access": "public", "description": "Removes the body from its current collision system", "lineNumber": 97 }, { "__docId__": 116, "kind": "method", "name": "createResult", "memberof": "src/modules/Body.mjs~Body", "generator": false, "async": false, "static": false, "longname": "src/modules/Body.mjs~Body#createResult", "access": "public", "description": "Creates a {@link Result} used to collect the detailed results of a collision test", "lineNumber": 108 }, { "__docId__": 117, "kind": "method", "name": "createResult", "memberof": "src/modules/Body.mjs~Body", "generator": false, "async": false, "static": true, "longname": "src/modules/Body.mjs~Body.createResult", "access": "public", "description": "Creates a Result used to collect the detailed results of a collision test", "lineNumber": 115 }, { "__docId__": 118, "kind": "file", "name": "src/modules/Circle.mjs", "content": "import Body from './Body.mjs';\n\n/**\n * A circle used to detect collisions\n * @class\n */\nexport default class Circle extends Body {\n\t/**\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [radius = 0] The radius\n\t * @param {Number} [scale = 1] The scale\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t */\n\tconstructor(x = 0, y = 0, radius = 0, scale = 1, padding = 0) {\n\t\tsuper(x, y, padding);\n\n\t\t/**\n\t\t * @desc\n\t\t * @type {Number}\n\t\t */\n\t\tthis.radius = radius;\n\n\t\t/**\n\t\t * @desc\n\t\t * @type {Number}\n\t\t */\n\t\tthis.scale = scale;\n\t}\n\n\t/**\n\t * Draws the circle to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to add the arc to\n\t */\n\tdraw(context) {\n\t\tconst x = this.x;\n\t\tconst y = this.y;\n\t\tconst radius = this.radius * this.scale;\n\n\t\tcontext.moveTo(x + radius, y);\n\t\tcontext.arc(x, y, radius, 0, Math.PI * 2);\n\t}\n};\n", "static": true, "longname": "/mnt/c/Users/sam/projects/Collisions/src/modules/Circle.mjs", "access": "public", "description": null, "lineNumber": 1 }, { "__docId__": 119, "kind": "class", "name": "Circle", "memberof": "src/modules/Circle.mjs", "static": true, "longname": "src/modules/Circle.mjs~Circle", "access": "public", "export": true, "importPath": "collisions/src/modules/Circle.mjs", "importStyle": "Circle", "description": "A circle used to detect collisions", "lineNumber": 7, "unknown": [ { "tagName": "@class", "tagValue": "" } ], "interface": false, "extends": [ "src/modules/Body.mjs~Body" ] }, { "__docId__": 120, "kind": "constructor", "name": "constructor", "memberof": "src/modules/Circle.mjs~Circle", "generator": false, "async": false, "static": false, "longname": "src/modules/Circle.mjs~Circle#constructor", "access": "public", "description": "", "lineNumber": 16, "unknown": [ { "tagName": "@constructor", "tagValue": "" } ], "params": [ { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "x", "description": "The starting X coordinate" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "y", "description": "The starting Y coordinate" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "radius", "description": "The radius" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 1", "defaultRaw": 1, "name": "scale", "description": "The scale" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "padding", "description": "The amount to pad the bounding volume when testing for potential collisions" } ] }, { "__docId__": 121, "kind": "member", "name": "radius", "memberof": "src/modules/Circle.mjs~Circle", "static": false, "longname": "src/modules/Circle.mjs~Circle#radius", "access": "public", "description": "", "lineNumber": 23, "type": { "nullable": null, "types": [ "Number" ], "spread": false, "description": null } }, { "__docId__": 122, "kind": "member", "name": "scale", "memberof": "src/modules/Circle.mjs~Circle", "static": false, "longname": "src/modules/Circle.mjs~Circle#scale", "access": "public", "description": "", "lineNumber": 29, "type": { "nullable": null, "types": [ "Number" ], "spread": false, "description": null } }, { "__docId__": 123, "kind": "method", "name": "draw", "memberof": "src/modules/Circle.mjs~Circle", "generator": false, "async": false, "static": false, "longname": "src/modules/Circle.mjs~Circle#draw", "access": "public", "description": "Draws the circle to a CanvasRenderingContext2D's current path", "lineNumber": 36, "params": [ { "nullable": null, "types": [ "CanvasRenderingContext2D" ], "spread": false, "optional": false, "name": "context", "description": "The context to add the arc to" } ] }, { "__docId__": 124, "kind": "file", "name": "src/modules/Point.mjs", "content": "import Polygon from './Polygon.mjs';\n\n/**\n * A point used to detect collisions\n * @class\n */\nexport default class Point extends Polygon {\n\t/**\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t */\n\tconstructor(x = 0, y = 0, padding = 0) {\n\t\tsuper(x, y, [[0, 0]], 0, 1, 1, padding);\n\n\t\t/** @private */\n\t\tthis._point = true;\n\t}\n};\n\nPoint.prototype.setPoints = undefined;\n", "static": true, "longname": "/mnt/c/Users/sam/projects/Collisions/src/modules/Point.mjs", "access": "public", "description": null, "lineNumber": 1 }, { "__docId__": 125, "kind": "class", "name": "Point", "memberof": "src/modules/Point.mjs", "static": true, "longname": "src/modules/Point.mjs~Point", "access": "public", "export": true, "importPath": "collisions/src/modules/Point.mjs", "importStyle": "Point", "description": "A point used to detect collisions", "lineNumber": 7, "unknown": [ { "tagName": "@class", "tagValue": "" } ], "interface": false, "extends": [ "src/modules/Polygon.mjs~Polygon" ] }, { "__docId__": 126, "kind": "constructor", "name": "constructor", "memberof": "src/modules/Point.mjs~Point", "generator": false, "async": false, "static": false, "longname": "src/modules/Point.mjs~Point#constructor", "access": "public", "description": "", "lineNumber": 14, "unknown": [ { "tagName": "@constructor", "tagValue": "" } ], "params": [ { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "x", "description": "The starting X coordinate" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "y", "description": "The starting Y coordinate" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "padding", "description": "The amount to pad the bounding volume when testing for potential collisions" } ] }, { "__docId__": 127, "kind": "member", "name": "_point", "memberof": "src/modules/Point.mjs~Point", "static": false, "longname": "src/modules/Point.mjs~Point#_point", "access": "private", "description": null, "lineNumber": 18, "ignore": true }, { "__docId__": 128, "kind": "file", "name": "src/modules/Polygon.mjs", "content": "import Body from './Body.mjs';\n\n/**\n * A polygon used to detect collisions\n * @class\n */\nexport default class Polygon extends Body {\n\t/**\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Array} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t * @param {Number} [angle = 0] The starting rotation in radians\n\t * @param {Number} [scale_x = 1] The starting scale along the X axis\n\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t */\n\tconstructor(x = 0, y = 0, points = [], angle = 0, scale_x = 1, scale_y = 1, padding = 0) {\n\t\tsuper(x, y, padding);\n\n\t\t/**\n\t\t * @desc The angle of the body in radians\n\t\t * @type {Number}\n\t\t */\n\t\tthis.angle = angle;\n\n\t\t/**\n\t\t * @desc The scale of the body along the X axis\n\t\t * @type {Number}\n\t\t */\n\t\tthis.scale_x = scale_x;\n\n\t\t/**\n\t\t * @desc The scale of the body along the Y axis\n\t\t * @type {Number}\n\t\t */\n\t\tthis.scale_y = scale_y;\n\n\n\t\t/** @private */\n\t\tthis._polygon = true;\n\n\t\t/** @private */\n\t\tthis._x = x;\n\n\t\t/** @private */\n\t\tthis._y = y;\n\n\t\t/** @private */\n\t\tthis._angle = angle;\n\n\t\t/** @private */\n\t\tthis._scale_x = scale_x;\n\n\t\t/** @private */\n\t\tthis._scale_y = scale_y;\n\n\t\t/** @private */\n\t\tthis._min_x = 0;\n\n\t\t/** @private */\n\t\tthis._min_y = 0;\n\n\t\t/** @private */\n\t\tthis._max_x = 0;\n\n\t\t/** @private */\n\t\tthis._max_y = 0;\n\n\t\t/** @private */\n\t\tthis._points = null;\n\n\t\t/** @private */\n\t\tthis._coords = null;\n\n\t\t/** @private */\n\t\tthis._edges = null;\n\n\t\t/** @private */\n\t\tthis._normals = null;\n\n\t\t/** @private */\n\t\tthis._dirty_coords = true;\n\n\t\t/** @private */\n\t\tthis._dirty_normals = true;\n\n\t\tPolygon.prototype.setPoints.call(this, points);\n\t}\n\n\t/**\n\t * Draws the polygon to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to add the shape to\n\t */\n\tdraw(context) {\n\t\tif(\n\t\t\tthis._dirty_coords ||\n\t\t\tthis.x !== this._x ||\n\t\t\tthis.y !== this._y ||\n\t\t\tthis.angle !== this._angle ||\n\t\t\tthis.scale_x !== this._scale_x ||\n\t\t\tthis.scale_y !== this._scale_y\n\t\t) {\n\t\t\tthis._calculateCoords();\n\t\t}\n\n\t\tconst coords = this._coords;\n\n\t\tif(coords.length === 2) {\n\t\t\tcontext.moveTo(coords[0], coords[1]);\n\t\t\tcontext.arc(coords[0], coords[1], 1, 0, Math.PI * 2);\n\t\t}\n\t\telse {\n\t\t\tcontext.moveTo(coords[0], coords[1]);\n\n\t\t\tfor(let i = 2; i < coords.length; i += 2) {\n\t\t\t\tcontext.lineTo(coords[i], coords[i + 1]);\n\t\t\t}\n\n\t\t\tif(coords.length > 4) {\n\t\t\t\tcontext.lineTo(coords[0], coords[1]);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated.\n\t * @param {Array} new_points An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t */\n\tsetPoints(new_points) {\n\t\tconst count = new_points.length;\n\n\t\tthis._points = new Float64Array(count * 2);\n\t\tthis._coords = new Float64Array(count * 2);\n\t\tthis._edges = new Float64Array(count * 2);\n\t\tthis._normals = new Float64Array(count * 2);\n\n\t\tconst points = this._points;\n\n\t\tfor(let i = 0, ix = 0, iy = 1; i < count; ++i, ix += 2, iy += 2) {\n\t\t\tconst new_point = new_points[i];\n\n\t\t\tpoints[ix] = new_point[0];\n\t\t\tpoints[iy] = new_point[1];\n\t\t}\n\n\t\tthis._dirty_coords = true;\n\t}\n\n\t/**\n\t * Calculates and caches the polygon's world coordinates based on its points, angle, and scale\n\t */\n\t_calculateCoords() {\n\t\tconst x = this.x;\n\t\tconst y = this.y;\n\t\tconst angle = this.angle;\n\t\tconst scale_x = this.scale_x;\n\t\tconst scale_y = this.scale_y;\n\t\tconst points = this._points;\n\t\tconst coords = this._coords;\n\t\tconst count = points.length;\n\n\t\tlet min_x;\n\t\tlet max_x;\n\t\tlet min_y;\n\t\tlet max_y;\n\n\t\tfor(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) {\n\t\t\tlet coord_x = points[ix] * scale_x;\n\t\t\tlet coord_y = points[iy] * scale_y;\n\n\t\t\tif(angle) {\n\t\t\t\tconst cos = Math.cos(angle);\n\t\t\t\tconst sin = Math.sin(angle);\n\t\t\t\tconst tmp_x = coord_x;\n\t\t\t\tconst tmp_y = coord_y;\n\n\t\t\t\tcoord_x = tmp_x * cos - tmp_y * sin;\n\t\t\t\tcoord_y = tmp_x * sin + tmp_y * cos;\n\t\t\t}\n\n\t\t\tcoord_x += x;\n\t\t\tcoord_y += y;\n\n\t\t\tcoords[ix] = coord_x;\n\t\t\tcoords[iy] = coord_y;\n\n\t\t\tif(ix === 0) {\n\t\t\t\tmin_x = max_x = coord_x;\n\t\t\t\tmin_y = max_y = coord_y;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif(coord_x < min_x) {\n\t\t\t\t\tmin_x = coord_x;\n\t\t\t\t}\n\t\t\t\telse if(coord_x > max_x) {\n\t\t\t\t\tmax_x = coord_x;\n\t\t\t\t}\n\n\t\t\t\tif(coord_y < min_y) {\n\t\t\t\t\tmin_y = coord_y;\n\t\t\t\t}\n\t\t\t\telse if(coord_y > max_y) {\n\t\t\t\t\tmax_y = coord_y;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._x = x;\n\t\tthis._y = y;\n\t\tthis._angle = angle;\n\t\tthis._scale_x = scale_x;\n\t\tthis._scale_y = scale_y;\n\t\tthis._min_x = min_x;\n\t\tthis._min_y = min_y;\n\t\tthis._max_x = max_x;\n\t\tthis._max_y = max_y;\n\t\tthis._dirty_coords = false;\n\t\tthis._dirty_normals = true;\n\t}\n\n\t/**\n\t * Calculates the normals and edges of the polygon's sides\n\t */\n\t_calculateNormals() {\n\t\tconst coords = this._coords;\n\t\tconst edges = this._edges;\n\t\tconst normals = this._normals;\n\t\tconst count = coords.length;\n\n\t\tfor(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) {\n\t\t\tconst next = ix + 2 < count ? ix + 2 : 0;\n\t\t\tconst x = coords[next] - coords[ix];\n\t\t\tconst y = coords[next + 1] - coords[iy];\n\t\t\tconst length = x || y ? Math.sqrt(x * x + y * y) : 0;\n\n\t\t\tedges[ix] = x;\n\t\t\tedges[iy] = y;\n\t\t\tnormals[ix] = length ? y / length : 0;\n\t\t\tnormals[iy] = length ? -x / length : 0;\n\t\t}\n\n\t\tthis._dirty_normals = false;\n\t}\n};\n", "static": true, "longname": "/mnt/c/Users/sam/projects/Collisions/src/modules/Polygon.mjs", "access": "public", "description": null, "lineNumber": 1 }, { "__docId__": 129, "kind": "class", "name": "Polygon", "memberof": "src/modules/Polygon.mjs", "static": true, "longname": "src/modules/Polygon.mjs~Polygon", "access": "public", "export": true, "importPath": "collisions/src/modules/Polygon.mjs", "importStyle": "Polygon", "description": "A polygon used to detect collisions", "lineNumber": 7, "unknown": [ { "tagName": "@class", "tagValue": "" } ], "interface": false, "extends": [ "src/modules/Body.mjs~Body" ] }, { "__docId__": 130, "kind": "constructor", "name": "constructor", "memberof": "src/modules/Polygon.mjs~Polygon", "generator": false, "async": false, "static": false, "longname": "src/modules/Polygon.mjs~Polygon#constructor", "access": "public", "description": "", "lineNumber": 18, "unknown": [ { "tagName": "@constructor", "tagValue": "" } ], "params": [ { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "x", "description": "The starting X coordinate" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "y", "description": "The starting Y coordinate" }, { "nullable": null, "types": [ "Array" ], "spread": false, "optional": true, "defaultValue": " []", "defaultRaw": [], "name": "points", "description": "An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "angle", "description": "The starting rotation in radians" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 1", "defaultRaw": 1, "name": "scale_x", "description": "The starting scale along the X axis" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 1", "defaultRaw": 1, "name": "scale_y", "description": "The starting scale long the Y axis" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": true, "defaultValue": " 0", "defaultRaw": 0, "name": "padding", "description": "The amount to pad the bounding volume when testing for potential collisions" } ] }, { "__docId__": 131, "kind": "member", "name": "angle", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#angle", "access": "public", "description": "The angle of the body in radians", "lineNumber": 25, "type": { "nullable": null, "types": [ "Number" ], "spread": false, "description": null } }, { "__docId__": 132, "kind": "member", "name": "scale_x", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#scale_x", "access": "public", "description": "The scale of the body along the X axis", "lineNumber": 31, "type": { "nullable": null, "types": [ "Number" ], "spread": false, "description": null } }, { "__docId__": 133, "kind": "member", "name": "scale_y", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#scale_y", "access": "public", "description": "The scale of the body along the Y axis", "lineNumber": 37, "type": { "nullable": null, "types": [ "Number" ], "spread": false, "description": null } }, { "__docId__": 134, "kind": "member", "name": "_polygon", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_polygon", "access": "private", "description": null, "lineNumber": 41, "ignore": true }, { "__docId__": 135, "kind": "member", "name": "_x", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_x", "access": "private", "description": null, "lineNumber": 44, "ignore": true }, { "__docId__": 136, "kind": "member", "name": "_y", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_y", "access": "private", "description": null, "lineNumber": 47, "ignore": true }, { "__docId__": 137, "kind": "member", "name": "_angle", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_angle", "access": "private", "description": null, "lineNumber": 50, "ignore": true }, { "__docId__": 138, "kind": "member", "name": "_scale_x", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_scale_x", "access": "private", "description": null, "lineNumber": 53, "ignore": true }, { "__docId__": 139, "kind": "member", "name": "_scale_y", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_scale_y", "access": "private", "description": null, "lineNumber": 56, "ignore": true }, { "__docId__": 140, "kind": "member", "name": "_min_x", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_min_x", "access": "private", "description": null, "lineNumber": 59, "ignore": true }, { "__docId__": 141, "kind": "member", "name": "_min_y", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_min_y", "access": "private", "description": null, "lineNumber": 62, "ignore": true }, { "__docId__": 142, "kind": "member", "name": "_max_x", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_max_x", "access": "private", "description": null, "lineNumber": 65, "ignore": true }, { "__docId__": 143, "kind": "member", "name": "_max_y", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_max_y", "access": "private", "description": null, "lineNumber": 68, "ignore": true }, { "__docId__": 144, "kind": "member", "name": "_points", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_points", "access": "private", "description": null, "lineNumber": 71, "ignore": true }, { "__docId__": 145, "kind": "member", "name": "_coords", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_coords", "access": "private", "description": null, "lineNumber": 74, "ignore": true }, { "__docId__": 146, "kind": "member", "name": "_edges", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_edges", "access": "private", "description": null, "lineNumber": 77, "ignore": true }, { "__docId__": 147, "kind": "member", "name": "_normals", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_normals", "access": "private", "description": null, "lineNumber": 80, "ignore": true }, { "__docId__": 148, "kind": "member", "name": "_dirty_coords", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_dirty_coords", "access": "private", "description": null, "lineNumber": 83, "ignore": true }, { "__docId__": 149, "kind": "member", "name": "_dirty_normals", "memberof": "src/modules/Polygon.mjs~Polygon", "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_dirty_normals", "access": "private", "description": null, "lineNumber": 86, "ignore": true }, { "__docId__": 150, "kind": "method", "name": "draw", "memberof": "src/modules/Polygon.mjs~Polygon", "generator": false, "async": false, "static": false, "longname": "src/modules/Polygon.mjs~Polygon#draw", "access": "public", "description": "Draws the polygon to a CanvasRenderingContext2D's current path", "lineNumber": 95, "params": [ { "nullable": null, "types": [ "CanvasRenderingContext2D" ], "spread": false, "optional": false, "name": "context", "description": "The context to add the shape to" } ] }, { "__docId__": 151, "kind": "method", "name": "setPoints", "memberof": "src/modules/Polygon.mjs~Polygon", "generator": false, "async": false, "static": false, "longname": "src/modules/Polygon.mjs~Polygon#setPoints", "access": "public", "description": "Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated.", "lineNumber": 130, "params": [ { "nullable": null, "types": [ "Array" ], "spread": false, "optional": false, "name": "new_points", "description": "An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]" } ] }, { "__docId__": 157, "kind": "method", "name": "_calculateCoords", "memberof": "src/modules/Polygon.mjs~Polygon", "generator": false, "async": false, "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_calculateCoords", "access": "private", "description": "Calculates and caches the polygon's world coordinates based on its points, angle, and scale", "lineNumber": 153, "ignore": true }, { "__docId__": 169, "kind": "method", "name": "_calculateNormals", "memberof": "src/modules/Polygon.mjs~Polygon", "generator": false, "async": false, "static": false, "longname": "src/modules/Polygon.mjs~Polygon#_calculateNormals", "access": "private", "description": "Calculates the normals and edges of the polygon's sides", "lineNumber": 225, "ignore": true }, { "__docId__": 171, "kind": "file", "name": "src/modules/Result.mjs", "content": "/**\n * An object used to collect the detailed results of a collision test\n *\n * > **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory\n * @class\n */\nexport default class Result {\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\t/**\n\t\t * @desc True if a collision was detected\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis.collision = false;\n\n\t\t/**\n\t\t * @desc The source body tested\n\t\t * @type {Circle|Polygon|Point}\n\t\t */\n\t\tthis.a = null;\n\n\t\t/**\n\t\t * @desc The target body tested against\n\t\t * @type {Circle|Polygon|Point}\n\t\t */\n\t\tthis.b = null;\n\n\t\t/**\n\t\t * @desc True if A is completely contained within B\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis.a_in_b = false;\n\n\t\t/**\n\t\t * @desc True if B is completely contained within A\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis.a_in_b = false;\n\n\t\t/**\n\t\t * @desc The magnitude of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t */\n\t\tthis.overlap = 0;\n\n\t\t/**\n\t\t * @desc The X direction of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t */\n\t\tthis.overlap_x = 0;\n\n\t\t/**\n\t\t * @desc The Y direction of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t */\n\t\tthis.overlap_y = 0;\n\t}\n};\n", "static": true, "longname": "/mnt/c/Users/sam/projects/Collisions/src/modules/Result.mjs", "access": "public", "description": null, "lineNumber": 1 }, { "__docId__": 172, "kind": "class", "name": "Result", "memberof": "src/modules/Result.mjs", "static": true, "longname": "src/modules/Result.mjs~Result", "access": "public", "export": true, "importPath": "collisions/src/modules/Result.mjs", "importStyle": "Result", "description": "An object used to collect the detailed results of a collision test\n\n> **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory", "lineNumber": 7, "unknown": [ { "tagName": "@class", "tagValue": "" } ], "interface": false }, { "__docId__": 173, "kind": "constructor", "name": "constructor", "memberof": "src/modules/Result.mjs~Result", "generator": false, "async": false, "static": false, "longname": "src/modules/Result.mjs~Result#constructor", "access": "public", "description": "", "lineNumber": 11, "unknown": [ { "tagName": "@constructor", "tagValue": "" } ] }, { "__docId__": 174, "kind": "member", "name": "collision", "memberof": "src/modules/Result.mjs~Result", "static": false, "longname": "src/modules/Result.mjs~Result#collision", "access": "public", "description": "True if a collision was detected", "lineNumber": 16, "type": { "nullable": null, "types": [ "Boolean" ], "spread": false, "description": null } }, { "__docId__": 175, "kind": "member", "name": "a", "memberof": "src/modules/Result.mjs~Result", "static": false, "longname": "src/modules/Result.mjs~Result#a", "access": "public", "description": "The source body tested", "lineNumber": 22, "type": { "nullable": null, "types": [ "Circle", "Polygon", "Point" ], "spread": false, "description": null } }, { "__docId__": 176, "kind": "member", "name": "b", "memberof": "src/modules/Result.mjs~Result", "static": false, "longname": "src/modules/Result.mjs~Result#b", "access": "public", "description": "The target body tested against", "lineNumber": 28, "type": { "nullable": null, "types": [ "Circle", "Polygon", "Point" ], "spread": false, "description": null } }, { "__docId__": 177, "kind": "member", "name": "a_in_b", "memberof": "src/modules/Result.mjs~Result", "static": false, "longname": "src/modules/Result.mjs~Result#a_in_b", "access": "public", "description": "True if A is completely contained within B", "lineNumber": 34, "type": { "nullable": null, "types": [ "Boolean" ], "spread": false, "description": null } }, { "__docId__": 179, "kind": "member", "name": "overlap", "memberof": "src/modules/Result.mjs~Result", "static": false, "longname": "src/modules/Result.mjs~Result#overlap", "access": "public", "description": "The magnitude of the shortest axis of overlap", "lineNumber": 46, "type": { "nullable": null, "types": [ "Number" ], "spread": false, "description": null } }, { "__docId__": 180, "kind": "member", "name": "overlap_x", "memberof": "src/modules/Result.mjs~Result", "static": false, "longname": "src/modules/Result.mjs~Result#overlap_x", "access": "public", "description": "The X direction of the shortest axis of overlap", "lineNumber": 52, "type": { "nullable": null, "types": [ "Number" ], "spread": false, "description": null } }, { "__docId__": 181, "kind": "member", "name": "overlap_y", "memberof": "src/modules/Result.mjs~Result", "static": false, "longname": "src/modules/Result.mjs~Result#overlap_y", "access": "public", "description": "The Y direction of the shortest axis of overlap", "lineNumber": 58, "type": { "nullable": null, "types": [ "Number" ], "spread": false, "description": null } }, { "__docId__": 182, "kind": "file", "name": "src/modules/SAT.mjs", "content": "/**\n * Determines if two bodies are colliding using the Separating Axis Theorem\n * @private\n * @param {Circle|Polygon|Point} a The source body to test\n * @param {Circle|Polygon|Point} b The target body to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own collision heuristic)\n * @returns {Boolean}\n */\nexport default function SAT(a, b, result = null, aabb = true) {\n\tconst a_polygon = a._polygon;\n\tconst b_polygon = b._polygon;\n\n\tlet collision = false;\n\n\tif(result) {\n\t\tresult.a = a;\n\t\tresult.b = b;\n\t\tresult.a_in_b = true;\n\t\tresult.b_in_a = true;\n\t\tresult.overlap = null;\n\t\tresult.overlap_x = 0;\n\t\tresult.overlap_y = 0;\n\t}\n\n\tif(a_polygon) {\n\t\tif(\n\t\t\ta._dirty_coords ||\n\t\t\ta.x !== a._x ||\n\t\t\ta.y !== a._y ||\n\t\t\ta.angle !== a._angle ||\n\t\t\ta.scale_x !== a._scale_x ||\n\t\t\ta.scale_y !== a._scale_y\n\t\t) {\n\t\t\ta._calculateCoords();\n\t\t}\n\t}\n\n\tif(b_polygon) {\n\t\tif(\n\t\t\tb._dirty_coords ||\n\t\t\tb.x !== b._x ||\n\t\t\tb.y !== b._y ||\n\t\t\tb.angle !== b._angle ||\n\t\t\tb.scale_x !== b._scale_x ||\n\t\t\tb.scale_y !== b._scale_y\n\t\t) {\n\t\t\tb._calculateCoords();\n\t\t}\n\t}\n\n\tif(!aabb || aabbAABB(a, b)) {\n\t\tif(a_polygon && a._dirty_normals) {\n\t\t\ta._calculateNormals();\n\t\t}\n\n\t\tif(b_polygon && b._dirty_normals) {\n\t\t\tb._calculateNormals();\n\t\t}\n\n\t\tcollision = (\n\t\t\ta_polygon && b_polygon ? polygonPolygon(a, b, result) :\n\t\t\ta_polygon ? polygonCircle(a, b, result, false) :\n\t\t\tb_polygon ? polygonCircle(b, a, result, true) :\n\t\t\tcircleCircle(a, b, result)\n\t\t);\n\t}\n\n\tif(result) {\n\t\tresult.collision = collision;\n\t}\n\n\treturn collision;\n};\n\n/**\n * Determines if two bodies' axis aligned bounding boxes are colliding\n * @param {Circle|Polygon|Point} a The source body to test\n * @param {Circle|Polygon|Point} b The target body to test against\n */\nfunction aabbAABB(a, b) {\n\tconst a_polygon = a._polygon;\n\tconst a_x = a_polygon ? 0 : a.x;\n\tconst a_y = a_polygon ? 0 : a.y;\n\tconst a_radius = a_polygon ? 0 : a.radius * a.scale;\n\tconst a_min_x = a_polygon ? a._min_x : a_x - a_radius;\n\tconst a_min_y = a_polygon ? a._min_y : a_y - a_radius;\n\tconst a_max_x = a_polygon ? a._max_x : a_x + a_radius;\n\tconst a_max_y = a_polygon ? a._max_y : a_y + a_radius;\n\n\tconst b_polygon = b._polygon;\n\tconst b_x = b_polygon ? 0 : b.x;\n\tconst b_y = b_polygon ? 0 : b.y;\n\tconst b_radius = b_polygon ? 0 : b.radius * b.scale;\n\tconst b_min_x = b_polygon ? b._min_x : b_x - b_radius;\n\tconst b_min_y = b_polygon ? b._min_y : b_y - b_radius;\n\tconst b_max_x = b_polygon ? b._max_x : b_x + b_radius;\n\tconst b_max_y = b_polygon ? b._max_y : b_y + b_radius;\n\n\treturn a_min_x < b_max_x && a_min_y < b_max_y && a_max_x > b_min_x && a_max_y > b_min_y;\n}\n\n/**\n * Determines if two polygons are colliding\n * @param {Polygon} a The source polygon to test\n * @param {Polygon} b The target polygon to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n */\nfunction polygonPolygon(a, b, result = null) {\n\tconst a_count = a._coords.length;\n\tconst b_count = b._coords.length;\n\n\t// Handle points specially\n\tif(a_count === 2 && b_count === 2) {\n\t\tconst a_coords = a._coords;\n\t\tconst b_coords = b._coords;\n\n\t\tif(result) {\n\t\t\tresult.overlap = 0;\n\t\t}\n\n\t\treturn a_coords[0] === b_coords[0] && a_coords[1] === b_coords[1];\n\t}\n\n\tconst a_coords = a._coords;\n\tconst b_coords = b._coords;\n\tconst a_normals = a._normals;\n\tconst b_normals = b._normals;\n\n\tif(a_count > 2) {\n\t\tfor(let ix = 0, iy = 1; ix < a_count; ix += 2, iy += 2) {\n\t\t\tif(separatingAxis(a_coords, b_coords, a_normals[ix], a_normals[iy], result)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\tif(b_count > 2) {\n\t\tfor(let ix = 0, iy = 1; ix < b_count; ix += 2, iy += 2) {\n\t\t\tif(separatingAxis(a_coords, b_coords, b_normals[ix], b_normals[iy], result)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/**\n * Determines if a polygon and a circle are colliding\n * @param {Polygon} a The source polygon to test\n * @param {Circle} b The target circle to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @param {Boolean} [reverse = false] Set to true to reverse a and b in the result parameter when testing circle->polygon instead of polygon->circle\n * @returns {Boolean}\n */\nfunction polygonCircle(a, b, result = null, reverse = false) {\n\tconst a_coords = a._coords;\n\tconst a_edges = a._edges;\n\tconst a_normals = a._normals;\n\tconst b_x = b.x;\n\tconst b_y = b.y;\n\tconst b_radius = b.radius * b.scale;\n\tconst b_radius2 = b_radius * 2;\n\tconst radius_squared = b_radius * b_radius;\n\tconst count = a_coords.length;\n\n\tlet a_in_b = true;\n\tlet b_in_a = true;\n\tlet overlap = null;\n\tlet overlap_x = 0;\n\tlet overlap_y = 0;\n\n\t// Handle points specially\n\tif(count === 2) {\n\t\tconst coord_x = b_x - a_coords[0];\n\t\tconst coord_y = b_y - a_coords[1];\n\t\tconst length_squared = coord_x * coord_x + coord_y * coord_y;\n\n\t\tif(length_squared > radius_squared) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif(result) {\n\t\t\tconst length = Math.sqrt(length_squared);\n\n\t\t\toverlap = b_radius - length;\n\t\t\toverlap_x = coord_x / length;\n\t\t\toverlap_y = coord_y / length;\n\t\t\tb_in_a = false;\n\t\t}\n\t}\n\telse {\n\t\tfor(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) {\n\t\t\tconst coord_x = b_x - a_coords[ix];\n\t\t\tconst coord_y = b_y - a_coords[iy];\n\t\t\tconst edge_x = a_edges[ix];\n\t\t\tconst edge_y = a_edges[iy];\n\t\t\tconst dot = coord_x * edge_x + coord_y * edge_y;\n\t\t\tconst region = dot < 0 ? -1 : dot > edge_x * edge_x + edge_y * edge_y ? 1 : 0;\n\n\t\t\tlet tmp_overlapping = false;\n\t\t\tlet tmp_overlap = 0;\n\t\t\tlet tmp_overlap_x = 0;\n\t\t\tlet tmp_overlap_y = 0;\n\n\t\t\tif(result && a_in_b && coord_x * coord_x + coord_y * coord_y > radius_squared) {\n\t\t\t\ta_in_b = false;\n\t\t\t}\n\n\t\t\tif(region) {\n\t\t\t\tconst left = region === -1;\n\t\t\t\tconst other_x = left ? (ix === 0 ? count - 2 : ix - 2) : (ix === count - 2 ? 0 : ix + 2);\n\t\t\t\tconst other_y = other_x + 1;\n\t\t\t\tconst coord2_x = b_x - a_coords[other_x];\n\t\t\t\tconst coord2_y = b_y - a_coords[other_y];\n\t\t\t\tconst edge2_x = a_edges[other_x];\n\t\t\t\tconst edge2_y = a_edges[other_y];\n\t\t\t\tconst dot2 = coord2_x * edge2_x + coord2_y * edge2_y;\n\t\t\t\tconst region2 = dot2 < 0 ? -1 : dot2 > edge2_x * edge2_x + edge2_y * edge2_y ? 1 : 0;\n\n\t\t\t\tif(region2 === -region) {\n\t\t\t\t\tconst target_x = left ? coord_x : coord2_x;\n\t\t\t\t\tconst target_y = left ? coord_y : coord2_y;\n\t\t\t\t\tconst length_squared = target_x * target_x + target_y * target_y;\n\n\t\t\t\t\tif(length_squared > radius_squared) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif(result) {\n\t\t\t\t\t\tconst length = Math.sqrt(length_squared);\n\n\t\t\t\t\t\ttmp_overlapping = true;\n\t\t\t\t\t\ttmp_overlap = b_radius - length;\n\t\t\t\t\t\ttmp_overlap_x = target_x / length;\n\t\t\t\t\t\ttmp_overlap_y = target_y / length;\n\t\t\t\t\t\tb_in_a = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst normal_x = a_normals[ix];\n\t\t\t\tconst normal_y = a_normals[iy];\n\t\t\t\tconst length = coord_x * normal_x + coord_y * normal_y;\n\t\t\t\tconst absolute_length = length < 0 ? -length : length;\n\n\t\t\t\tif(length > 0 && absolute_length > b_radius) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif(result) {\n\t\t\t\t\ttmp_overlapping = true;\n\t\t\t\t\ttmp_overlap = b_radius - length;\n\t\t\t\t\ttmp_overlap_x = normal_x;\n\t\t\t\t\ttmp_overlap_y = normal_y;\n\n\t\t\t\t\tif(b_in_a && length >= 0 || tmp_overlap < b_radius2) {\n\t\t\t\t\t\tb_in_a = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(tmp_overlapping && (overlap === null || overlap > tmp_overlap)) {\n\t\t\t\toverlap = tmp_overlap;\n\t\t\t\toverlap_x = tmp_overlap_x;\n\t\t\t\toverlap_y = tmp_overlap_y;\n\t\t\t}\n\t\t}\n\t}\n\n\tif(result) {\n\t\tresult.a_in_b = reverse ? b_in_a : a_in_b;\n\t\tresult.b_in_a = reverse ? a_in_b : b_in_a;\n\t\tresult.overlap = overlap;\n\t\tresult.overlap_x = reverse ? -overlap_x : overlap_x;\n\t\tresult.overlap_y = reverse ? -overlap_y : overlap_y;\n\t}\n\n\treturn true;\n}\n\n/**\n * Determines if two circles are colliding\n * @param {Circle} a The source circle to test\n * @param {Circle} b The target circle to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n */\nfunction circleCircle(a, b, result = null) {\n\tconst a_radius = a.radius * a.scale;\n\tconst b_radius = b.radius * b.scale;\n\tconst difference_x = b.x - a.x;\n\tconst difference_y = b.y - a.y;\n\tconst radius_sum = a_radius + b_radius;\n\tconst length_squared = difference_x * difference_x + difference_y * difference_y;\n\n\tif(length_squared > radius_sum * radius_sum) {\n\t\treturn false;\n\t}\n\n\tif(result) {\n\t\tconst length = Math.sqrt(length_squared);\n\n\t\tresult.a_in_b = a_radius <= b_radius && length <= b_radius - a_radius;\n\t\tresult.b_in_a = b_radius <= a_radius && length <= a_radius - b_radius;\n\t\tresult.overlap = radius_sum - length;\n\t\tresult.overlap_x = difference_x / length;\n\t\tresult.overlap_y = difference_y / length;\n\t}\n\n\treturn true;\n}\n\n/**\n * Determines if two polygons are separated by an axis\n * @param {Array} a_coords The coordinates of the polygon to test\n * @param {Array} b_coords The coordinates of the polygon to test against\n * @param {Number} x The X direction of the axis\n * @param {Number} y The Y direction of the axis\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n */\nfunction separatingAxis(a_coords, b_coords, x, y, result = null) {\n\tconst a_count = a_coords.length;\n\tconst b_count = b_coords.length;\n\n\tif(!a_count || !b_count) {\n\t\treturn true;\n\t}\n\n\tlet a_start = null;\n\tlet a_end = null;\n\tlet b_start = null;\n\tlet b_end = null;\n\n\tfor(let ix = 0, iy = 1; ix < a_count; ix += 2, iy += 2) {\n\t\tconst dot = a_coords[ix] * x + a_coords[iy] * y;\n\n\t\tif(a_start === null || a_start > dot) {\n\t\t\ta_start = dot;\n\t\t}\n\n\t\tif(a_end === null || a_end < dot) {\n\t\t\ta_end = dot;\n\t\t}\n\t}\n\n\tfor(let ix = 0, iy = 1; ix < b_count; ix += 2, iy += 2) {\n\t\tconst dot = b_coords[ix] * x + b_coords[iy] * y;\n\n\t\tif(b_start === null || b_start > dot) {\n\t\t\tb_start = dot;\n\t\t}\n\n\t\tif(b_end === null || b_end < dot) {\n\t\t\tb_end = dot;\n\t\t}\n\t}\n\n\tif(a_start > b_end || a_end < b_start) {\n\t\treturn true;\n\t}\n\n\tif(result) {\n\t\tlet overlap = 0;\n\n\t\tif(a_start < b_start) {\n\t\t\tresult.a_in_b = false;\n\n\t\t\tif(a_end < b_end) {\n\t\t\t\toverlap = a_end - b_start;\n\t\t\t\tresult.b_in_a = false;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst option1 = a_end - b_start;\n\t\t\t\tconst option2 = b_end - a_start;\n\n\t\t\t\toverlap = option1 < option2 ? option1 : -option2;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tresult.b_in_a = false;\n\n\t\t\tif(a_end > b_end) {\n\t\t\t\toverlap = a_start - b_end;\n\t\t\t\tresult.a_in_b = false;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst option1 = a_end - b_start;\n\t\t\t\tconst option2 = b_end - a_start;\n\n\t\t\t\toverlap = option1 < option2 ? option1 : -option2;\n\t\t\t}\n\t\t}\n\n\t\tconst current_overlap = result.overlap;\n\t\tconst absolute_overlap = overlap < 0 ? -overlap : overlap;\n\n\t\tif(current_overlap === null || current_overlap > absolute_overlap) {\n\t\t\tconst sign = overlap < 0 ? -1 : 1;\n\n\t\t\tresult.overlap = absolute_overlap;\n\t\t\tresult.overlap_x = x * sign;\n\t\t\tresult.overlap_y = y * sign;\n\t\t}\n\t}\n\n\treturn false;\n}\n", "static": true, "longname": "/mnt/c/Users/sam/projects/Collisions/src/modules/SAT.mjs", "access": "public", "description": null, "lineNumber": 1 }, { "__docId__": 183, "kind": "function", "name": "SAT", "memberof": "src/modules/SAT.mjs", "generator": false, "async": false, "static": true, "longname": "src/modules/SAT.mjs~SAT", "access": "private", "export": true, "importPath": "collisions/src/modules/SAT.mjs", "importStyle": "SAT", "description": "Determines if two bodies are colliding using the Separating Axis Theorem", "lineNumber": 10, "unknown": [ { "tagName": "@returns", "tagValue": "{Boolean}" } ], "params": [ { "nullable": null, "types": [ "Circle", "Polygon", "Point" ], "spread": false, "optional": false, "name": "a", "description": "The source body to test" }, { "nullable": null, "types": [ "Circle", "Polygon", "Point" ], "spread": false, "optional": false, "name": "b", "description": "The target body to test against" }, { "nullable": null, "types": [ "Result" ], "spread": false, "optional": true, "defaultValue": " null", "defaultRaw": null, "name": "result", "description": "A Result object on which to store information about the collision" }, { "nullable": null, "types": [ "Boolean" ], "spread": false, "optional": true, "defaultValue": " true", "defaultRaw": true, "name": "aabb", "description": "Set to false to skip the AABB test (useful if you use your own collision heuristic)" } ], "return": { "nullable": null, "types": [ "Boolean" ], "spread": false, "description": "" }, "ignore": true }, { "__docId__": 184, "kind": "function", "name": "aabbAABB", "memberof": "src/modules/SAT.mjs", "generator": false, "async": false, "static": true, "longname": "src/modules/SAT.mjs~aabbAABB", "access": "public", "export": false, "importPath": "collisions/src/modules/SAT.mjs", "importStyle": null, "description": "Determines if two bodies' axis aligned bounding boxes are colliding", "lineNumber": 81, "params": [ { "nullable": null, "types": [ "Circle", "Polygon", "Point" ], "spread": false, "optional": false, "name": "a", "description": "The source body to test" }, { "nullable": null, "types": [ "Circle", "Polygon", "Point" ], "spread": false, "optional": false, "name": "b", "description": "The target body to test against" } ], "ignore": true }, { "__docId__": 185, "kind": "function", "name": "polygonPolygon", "memberof": "src/modules/SAT.mjs", "generator": false, "async": false, "static": true, "longname": "src/modules/SAT.mjs~polygonPolygon", "access": "public", "export": false, "importPath": "collisions/src/modules/SAT.mjs", "importStyle": null, "description": "Determines if two polygons are colliding", "lineNumber": 110, "unknown": [ { "tagName": "@returns", "tagValue": "{Boolean}" } ], "params": [ { "nullable": null, "types": [ "Polygon" ], "spread": false, "optional": false, "name": "a", "description": "The source polygon to test" }, { "nullable": null, "types": [ "Polygon" ], "spread": false, "optional": false, "name": "b", "description": "The target polygon to test against" }, { "nullable": null, "types": [ "Result" ], "spread": false, "optional": true, "defaultValue": " null", "defaultRaw": null, "name": "result", "description": "A Result object on which to store information about the collision" } ], "return": { "nullable": null, "types": [ "Boolean" ], "spread": false, "description": "" }, "ignore": true }, { "__docId__": 186, "kind": "function", "name": "polygonCircle", "memberof": "src/modules/SAT.mjs", "generator": false, "async": false, "static": true, "longname": "src/modules/SAT.mjs~polygonCircle", "access": "public", "export": false, "importPath": "collisions/src/modules/SAT.mjs", "importStyle": null, "description": "Determines if a polygon and a circle are colliding", "lineNumber": 158, "unknown": [ { "tagName": "@returns", "tagValue": "{Boolean}" } ], "params": [ { "nullable": null, "types": [ "Polygon" ], "spread": false, "optional": false, "name": "a", "description": "The source polygon to test" }, { "nullable": null, "types": [ "Circle" ], "spread": false, "optional": false, "name": "b", "description": "The target circle to test against" }, { "nullable": null, "types": [ "Result" ], "spread": false, "optional": true, "defaultValue": " null", "defaultRaw": null, "name": "result", "description": "A Result object on which to store information about the collision" }, { "nullable": null, "types": [ "Boolean" ], "spread": false, "optional": true, "defaultValue": " false", "defaultRaw": false, "name": "reverse", "description": "Set to true to reverse a and b in the result parameter when testing circle->polygon instead of polygon->circle" } ], "return": { "nullable": null, "types": [ "Boolean" ], "spread": false, "description": "" }, "ignore": true }, { "__docId__": 187, "kind": "function", "name": "circleCircle", "memberof": "src/modules/SAT.mjs", "generator": false, "async": false, "static": true, "longname": "src/modules/SAT.mjs~circleCircle", "access": "public", "export": false, "importPath": "collisions/src/modules/SAT.mjs", "importStyle": null, "description": "Determines if two circles are colliding", "lineNumber": 291, "unknown": [ { "tagName": "@returns", "tagValue": "{Boolean}" } ], "params": [ { "nullable": null, "types": [ "Circle" ], "spread": false, "optional": false, "name": "a", "description": "The source circle to test" }, { "nullable": null, "types": [ "Circle" ], "spread": false, "optional": false, "name": "b", "description": "The target circle to test against" }, { "nullable": null, "types": [ "Result" ], "spread": false, "optional": true, "defaultValue": " null", "defaultRaw": null, "name": "result", "description": "A Result object on which to store information about the collision" } ], "return": { "nullable": null, "types": [ "Boolean" ], "spread": false, "description": "" }, "ignore": true }, { "__docId__": 188, "kind": "function", "name": "separatingAxis", "memberof": "src/modules/SAT.mjs", "generator": false, "async": false, "static": true, "longname": "src/modules/SAT.mjs~separatingAxis", "access": "public", "export": false, "importPath": "collisions/src/modules/SAT.mjs", "importStyle": null, "description": "Determines if two polygons are separated by an axis", "lineNumber": 325, "unknown": [ { "tagName": "@returns", "tagValue": "{Boolean}" } ], "params": [ { "nullable": null, "types": [ "Array" ], "spread": false, "optional": false, "name": "a_coords", "description": "The coordinates of the polygon to test" }, { "nullable": null, "types": [ "Array" ], "spread": false, "optional": false, "name": "b_coords", "description": "The coordinates of the polygon to test against" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": false, "name": "x", "description": "The X direction of the axis" }, { "nullable": null, "types": [ "Number" ], "spread": false, "optional": false, "name": "y", "description": "The Y direction of the axis" }, { "nullable": null, "types": [ "Result" ], "spread": false, "optional": true, "defaultValue": " null", "defaultRaw": null, "name": "result", "description": "A Result object on which to store information about the collision" } ], "return": { "nullable": null, "types": [ "Boolean" ], "spread": false, "description": "" }, "ignore": true }, { "kind": "index", "content": "Collisions\n===============================================================================\n\n**Collisions** is a JavaScript library for quickly and accurately detecting collisions between Polygons, Circles, and Points. It combines the efficiency of a [Bounding Volume Hierarchy](https://en.wikipedia.org/wiki/Bounding_volume_hierarchy) (BVH) for broad-phase searching and the accuracy of the [Separating Axis Theorem](https://en.wikipedia.org/wiki/Separating_axis_theorem) (SAT) for narrow-phase collision testing.\n\n* [Installation](#anchor-installation)\n* [Documentation](#anchor-documentation)\n* [Demos](#anchor-demos)\n* [Usage](#anchor-usage)\n* [Getting Started](#anchor-getting-started)\n\t1. [Creating a Collision System](#anchor-step-1)\n\t2. [Creating, Inserting, Updating, and Removing Bodies](#anchor-step-2)\n\t3. [Updating the Collision System](#anchor-step-3)\n\t4. [Testing for Collisions](#anchor-step-4)\n\t5. [Getting Detailed Collision Information](#anchor-step-5)\n\t6. [Negating Overlap](#anchor-step-6)\n* [Lines](#anchor-lines)\n* [Concave Polygons](#anchor-concave-polygons)\n* [Rendering](#anchor-rendering)\n* [Bounding Volume Padding](#anchor-bounding-volume-padding)\n* [Only using SAT](#anchor-only-using-sat)\n* [FAQ](#anchor-faq)\n\n\nInstallation\n===============================================================================\n\n```bash\nnpm install collisions\n```\n\n> **Note:** This library uses the native ECMAScript Module syntax. Most environments support native modules, but the following exceptions apply:\n>\n> * Node.js (9.2.0) requires the [--experimental-modules](https://nodejs.org/api/esm.html) flag\n> * Firefox (54) requires the [dom.moduleScripts.enabled](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#Browser_compatibility) setting\n>\n> Bundling solutions such as [Webpack](https://webpack.js.org/) or [Rollup.js](https://rollupjs.org/) make native modules compatible with all environments.\n\n\nDocumentation\n===============================================================================\n\nView the [documentation](https://sinova.github.com/Collisions/) (this README is also there).\n\n\nDemos\n===============================================================================\n\n* [Tank](https://sinova.github.com/Collisions/demo/)\n* [Stress Test](https://sinova.github.com/Collisions/demo/?stress)\n\n\nUsage\n===============================================================================\n\n```JavaScript\nimport Collisions from 'collisions';\n\n// Create the collision system\nconst system = new Collisions();\n\n// Create a Result object for collecting information about the collisions\nconst result = system.createResult();\n\n// Create the player (represented by a Circle)\nconst player = system.createCircle(100, 100, 10);\n\n// Create some walls (represented by Polygons)\nconst wall1 = system.createPolygon(400, 500, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 1.7);\nconst wall2 = system.createPolygon(200, 100, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 2.2);\nconst wall3 = system.createPolygon(400, 50, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 0.7);\n\n// Update the collision system\nsystem.update();\n\n// Get any potential collisions (this quickly rules out walls that have no chance of colliding with the player)\nconst potentials = player.potentials();\n\n// Loop through the potential wall collisions\nfor(const wall of potentials) {\n\t// Test if the player collides with the wall\n\tif(player.collides(wall, result)) {\n\t\t// Push the player out of the wall\n\t\tplayer.x -= result.overlap * result.overlap_x;\n\t\tplayer.y -= result.overlap * result.overlap_y;\n\t}\n}\n```\n\n\nGetting Started\n===============================================================================\n\n\n## 1. Creating a Collision System\n\n**Collisions** provides functions for performing both broad-phase and narrow-phase collision tests. In order to take full advantage of both phases, bodies need to be tracked within a collision system.\n\nCall the Collisions constructor to create a collision system.\n\n```JavaScript\nimport Collisions from 'collisions';\n\nconst system = new Collisions();\n```\n\n\n## 2. Creating, Inserting, Updating, and Removing Bodies\n\n**Collisions** supports the following body types:\n\n* **Circle:** A shape with infinite sides equidistant from a single point\n* **Polygon:** A shape made up of line segments\n* **Point:** A single coordinate\n\nTo use them, import the desired body class, call its constructor, and insert it into the collision system using `insert()`.\n\n```JavaScript\nimport {Collisions, Circle, Polygon, Point} from 'collisions';\n\nconst system = new Collisions();\n\nconst circle = new Circle(100, 100, 10);\nconst polygon = new Polygon(50, 50, [[0, 0], [20, 20], [-10, 10]]);\nconst line = new Polygon(200, 5, [[-30, 0], [10, 20]]);\nconst point = new Point(10, 10);\n\nsystem.insert(circle)\nsystem.insert(polygon, line, point);\n```\n\nCollision systems expose several convenience functions for creating bodies and inserting them into the system in one step. This also avoids having to import the different body classes.\n\n```JavaScript\nimport Collisions from 'collisions';\n\nconst system = new Collisions();\n\nconst circle = system.createCircle(100, 100, 10);\nconst polygon = system.createPolygon(50, 50, [[0, 0], [20, 20], [-10, 10]]);\nconst line = system.createPolygon(200, 5, [[-30, 0], [10, 20]]);\nconst point = system.createPoint(10, 10);\n```\n\nAll bodies have `x` and `y` properties that can be manipulated. Additionally, `Circle` bodies have a `scale` property that can be used to scale their overall size. `Polygon` bodies have `scale_x` and `scale_y` properties to scale their points along a particular axis and an `angle` property to rotate their points around their current position (using radians).\n\n```JavaScript\ncircle.x = 20;\ncircle.y = 30;\ncircle.scale = 1.5;\n\npolygon.x = 40;\npolygon.y = 100;\npolygon.scale_x = 1.2;\npolygon.scale_y = 3.4;\npolygon.angle = 1.2;\n```\n\nAnd, of course, bodies can be removed when they are no longer needed.\n\n```JavaScript\nsystem.remove(polygon, point);\ncircle.remove();\n```\n\n\n## 3. Updating the Collision System\n\nCollision systems need to be updated when the bodies within them change. This includes when bodies are inserted, removed, or when their properties change (e.g. position, angle, scaling, etc.). Updating a collision system is done by calling `update()` and should typically occur once per frame.\n\n```JavaScript\nsystem.update();\n```\n\nThe optimal time for updating a collision system is **after** its bodies have changed and **before** collisions are tested. For example, a game loop might use the following order of events:\n\n```JavaScript\nfunction gameLoop() {\n\thandleInput();\n\tprocessGameLogic();\n\n\tsystem.update();\n\n\thandleCollisions();\n\trender();\n}\n```\n\n\n## 4. Testing for Collisions\n\nWhen testing for collisions on a body, it is generally recommended that a broad-phase search be performed first by calling `potentials()` in order to quickly rule out bodies that are too far away to collide. **Collisions** uses a [Bounding Volume Hierarchy](https://en.wikipedia.org/wiki/Bounding_volume_hierarchy) (BVH) for its broad-phase search. Calling `potentials()` on a body traverses the BVH and builds a list of potential collision candidates.\n\n```JavaScript\nconst potentials = polygon.potentials();\n```\n\nOnce a list of potential collisions is acquired, loop through them and perform a narrow-phase collision test using `collides()`. **Collisions** uses the [Separating Axis Theorem](https://en.wikipedia.org/wiki/Separating_axis_theorem) (SAT) for its narrow-phase collision tests.\n\n```JavaScript\nconst potentials = polygon.potentials();\n\nfor(const body of potentials) {\n\tif(polygon.collides(body)) {\n\t\tconsole.log('Collision detected!');\n\t}\n}\n```\n\nIt is also possible to skip the broad-phase search entirely and call `collides()` directly on two bodies.\n\n> **Note:** Skipping the broad-phase search is not recommended. When testing for collisions against large numbers of bodies, performing a broad-phase search using a BVH is *much* more efficient.\n\n```JavaScript\nif(polygon.collides(line)) {\n\tconsole.log('Collision detected!');\n}\n```\n\n\n## 5. Getting Detailed Collision Information\n\nThere is often a need for detailed information about a collision in order to react to it appropriately. This information is stored using a `Result` object. `Result` objects have several properties set on them when a collision occurs, all of which are described in the [documentation](https://sinova.github.com/Collisions/).\n\nFor convenience, there are several ways to create a `Result` object. `Result` objects do not belong to any particular collision system, so any of the following methods for creating one can be used interchangeably. This also means the same `Result` object can be used for collisions across multiple systems.\n\n> **Note:** It is highly recommended that `Result` objects be recycled when performing multiple collision tests in order to save memory. The following example creates multiple `Result` objects strictly as a demonstration.\n\n```JavaScript\nimport {Collisions, Result, Polygon} from 'collisions';\n\nconst system = new Collisions();\nconst my_polygon = new Polygon(100, 100, 10);\n\nconst result1 = new Result();\nconst result2 = Collisions.createResult();\nconst result3 = system.createResult();\nconst result4 = Polygon.createResult();\nconst result5 = my_polygon.createResult();\n```\n\nTo use a `Result` object, pass it into `collides()`. If a collision occurs, it will be populated with information about the collision. Take note in the following example that the same `Result` object is being reused each iteration.\n\n```JavaScript\nconst result = system.createResult();\nconst potentials = point.potentials();\n\nfor(const body of potentials) {\n\tif(point.collides(body, result)) {\n\t\tconsole.log(result);\n\t}\n}\n```\n\n\n## 6. Negating Overlap\n\nA common use-case in collision detection is negating overlap when a collision occurs (such as when a player hits a wall). This can be done using the collision information in a `Result` object (see [Getting Detailed Collision Information](#anchor-getting-detailed-collision-information)).\n\nThe three most useful properties on a `Result` object are `overlap`, `overlap_x`, and `overlap_y`. Together, these values describe how much and in what direction the source body is overlapping the target body. More specifically, `overlap_x` and `overlap_y` describe the direction vector, and `overlap` describes the magnitude of that vector.\n\nThese values can be used to \"push\" one body out of another using the minimum distance required. More simply, subtracting this vector from the source body's position will cause the bodies to no longer collide. Here's an example:\n\n```JavaScript\nif(player.collides(wall, result)) {\n\tplayer.x -= result.overlap * result.overlap_x;\n\tplayer.y -= result.overlap * result.overlap_y;\n}\n```\n\n\nLines\n===============================================================================\n\nCreating a line is simply a matter of creating a single-sided polygon (i.e. a polygon with only two coordinate pairs).\n\n```JavaScript\nconst line = new Polygon(200, 5, [[-30, 0], [10, 20]]);\n```\n\n\nConcave Polygons\n===============================================================================\n\n**Collisions** uses the [Separating Axis Theorem](https://en.wikipedia.org/wiki/Separating_axis_theorem) (SAT) for its narrow-phase collision tests. One caveat to SAT is that it only works properly on convex bodies. However, concave polygons can be \"faked\" by using a series of [Lines](#anchor-lines). Keep in mind that a polygon drawn using [Lines](#anchor-lines) is \"hollow\".\n\nHandling true concave polygons requires breaking them down into their component convex polygons (Convex Decomposition) and testing them for collisions individually. There are plans to integrate this functionality into the library in the future, but for now, check out [poly-decomp.js](https://github.com/schteppe/poly-decomp.js).\n\n\nRendering\n===============================================================================\n\nFor debugging, it is often useful to be able to visualize the collision bodies. All of the bodies in a Collision system can be drawn to a `` element by calling `draw()` and passing in the canvas' 2D context.\n\n```JavaScript\nconst canvas = document.createElement('canvas');\nconst context = canvas.getContext('2d');\n\n// ...\ncontext.strokeStyle = '#FFFFFF';\ncontext.beginPath();\n\nsystem.draw(context);\n\ncontext.stroke();\n```\n\nBodies can be individually drawn as well.\n\n```JavaScript\ncontext.strokeStyle = '#FFFFFF';\ncontext.beginPath();\n\npolygon.draw(context);\ncircle.draw(context);\n\ncontext.stroke();\n```\n\nThe BVH can also be drawn to help test [Bounding Volume Padding](#anchor-bounding-volume-padding).\n\n```JavaScript\ncontext.strokeStyle = '#FFFFFF';\ncontext.beginPath();\n\nsystem.drawBVH(context);\n\ncontext.stroke();\n```\n\n\nBounding Volume Padding\n===============================================================================\n\nWhen bodies move around within a collision system, the internal BVH has to remove and reinsert the body in order to determine where it belongs in the hierarchy. This is one of the most costly operations in maintaining a BVH. In general, most projects will never see a performance issue from this unless they are dealing with thousands of moving bodies at once. In these cases, it can *sometimes* be beneficial to \"pad\" the bounding volumes of each body so that the BVH doesn't need to remove and reinsert bodies that haven't changed position too much. In other words, padding the bounding volume allows \"breathing room\" for the body within it to move around without being flagged for an update.\n\nThe tradeoff is that the slightly larger bounding volumes can trigger more false-positives during the broad-phase `potentials()` search. While the narrow phase will ultimately rule these out using Axis Aligned Bounding Box tests, putting too much padding on bodies that are crowded can lead to too many false positives and a diminishing return in performance. It is up to the developer to determine how much padding each body will need based on how much it can move within a single frame and how crowded the bodies in the system are.\n\nPadding can be added to a body when instantiating it (see the [documentation](https://sinova.github.com/Collisions/) for each body) or at any time by changing its `padding` property.\n\n```JavaScript\nconst padding = 5;\nconst circle = new Circle(100, 100, 10, 1, padding);\n\n// ...\n\ncircle.padding = 10;\n```\n\n\nOnly using SAT\n===============================================================================\n\nSome projects may only have a need to perform SAT collision tests without broad-phase searching. This can be achieved by avoiding collision systems altogether and only using the `collides()` function.\n\n```JavaScript\nimport {Circle, Polygon, Result} from 'collisions';\n\nconst circle = new Circle(45, 45, 20);\nconst polygon = new Polygon(50, 50, [[0, 0], [20, 20], [-10, 10]]);\nconst result = new Result();\n\nif(circle.collides(polygon, result)) {\n\tconsole.log(result);\n}\n```\n\n\nFAQ\n===============================================================================\n\n## Why shouldn't I just use a physics engine?\n\nProjects requiring physics are encouraged to use one of the several physics engines out there (e.g. [Matter.js](https://github.com/liabru/matter-js), [Planck.js](https://github.com/shakiba/planck.js)). However, many projects end up using physics engines solely for collision detection, and developers often find themselves having to work around some of the assumptions that these engines make (gravity, velocity, friction, etc.). **Collisions** was created to provide robust collision detection and nothing more. In fact, a physics engine could easily be written with **Collisions** at its core.\n\n## Why does the source code seem to have quite a bit of copy/paste?\n\n**Collisions** was written with performance as its primary focus. Conscious decisions were made to sacrifice readability in order to avoid the overhead of unnecessary function calls or property lookups.\n\n## Sometimes bodies can \"squeeze\" between two other bodies. What's going on?\n\nThis isn't caused by faulty collisions, but rather how a project handles its collision responses. There are several ways to go about responding to collisions, the most common of which is to loop through all bodies, find their potential collisions, and negate any overlaps that are found one at a time. Since the overlaps are negated one at a time, the last negation takes precedence and can cause the body to be pushed into another body.\n\nOne workaround is to resolve each collision, update the collision system, and repeat until no collisions are found. Keep in mind that this can potentially lead to infinite loops if the two colliding bodies equally negate each other. Another solution is to collect all overlaps and combine them into a single resultant vector and then push the body out, but this can get rather complicated.\n\nThere is no perfect solution. How collisions are handled depends on the project.\n", "longname": "/mnt/c/Users/sam/projects/Collisions/README.md", "name": "./README.md", "static": true, "access": "public" }, { "kind": "packageJSON", "content": "{\n\t\"name\": \"collisions\",\n\t\"version\": \"2.0.12\",\n\t\"description\": \"Collision detection for circles, polygons, and points\",\n\t\"main\": \"src/Collisions.mjs\",\n\t\"scripts\": {\n\t\t\"build\": \"rm -rf ./docs/* && esdoc && webpack\"\n\t},\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"git+https://github.com/Sinova/Collisions.git\"\n\t},\n\t\"keywords\": [\n\t\t\"Collision\",\n\t\t\"Separating Axis Theorem\",\n\t\t\"Bounding Volume Hierarchy\",\n\t\t\"SAT\",\n\t\t\"BVH\",\n\t\t\"Circle\",\n\t\t\"Polygon\",\n\t\t\"Line\",\n\t\t\"Shape\",\n\t\t\"Separating\",\n\t\t\"Axis\",\n\t\t\"Theorem\",\n\t\t\"Bounding\",\n\t\t\"Volume\",\n\t\t\"Hierarchy\"\n\t],\n\t\"author\": \"Samuel Hodge\",\n\t\"license\": \"MIT\",\n\t\"bugs\": {\n\t\t\"url\": \"https://github.com/Sinova/Collisions/issues\"\n\t},\n\t\"homepage\": \"https://github.com/Sinova/Collisions#readme\",\n\t\"devDependencies\": {\n\t\t\"esdoc\": \"^1.0.4\",\n\t\t\"esdoc-standard-plugin\": \"^1.0.0\",\n\t\t\"html-webpack-plugin\": \"^2.30.1\",\n\t\t\"npm\": \"^5.5.1\",\n\t\t\"webpack\": \"^3.9.0\"\n\t}\n}\n", "longname": "/mnt/c/Users/sam/projects/Collisions/package.json", "name": "package.json", "static": true, "access": "public" } ] ================================================ FILE: docs/script/inherited-summary.js ================================================ (function(){ function toggle(ev) { var button = ev.target; var parent = ev.target.parentElement; while(parent) { if (parent.tagName === 'TABLE' && parent.classList.contains('summary')) break; parent = parent.parentElement; } if (!parent) return; var tbody = parent.querySelector('tbody'); if (button.classList.contains('opened')) { button.classList.remove('opened'); button.classList.add('closed'); tbody.style.display = 'none'; } else { button.classList.remove('closed'); button.classList.add('opened'); tbody.style.display = 'block'; } } var buttons = document.querySelectorAll('.inherited-summary thead .toggle'); for (var i = 0; i < buttons.length; i++) { buttons[i].addEventListener('click', toggle); } })(); ================================================ FILE: docs/script/inner-link.js ================================================ // inner link(#foo) can not correctly scroll, because page has fixed header, // so, I manually scroll. (function(){ var matched = location.hash.match(/errorLines=([\d,]+)/); if (matched) return; function adjust() { window.scrollBy(0, -55); var el = document.querySelector('.inner-link-active'); if (el) el.classList.remove('inner-link-active'); // ``[ ] . ' " @`` are not valid in DOM id. so must escape these. var id = location.hash.replace(/([\[\].'"@$])/g, '\\$1'); var el = document.querySelector(id); if (el) el.classList.add('inner-link-active'); } window.addEventListener('hashchange', adjust); if (location.hash) { setTimeout(adjust, 0); } })(); (function(){ var els = document.querySelectorAll('[href^="#"]'); var href = location.href.replace(/#.*$/, ''); // remove existed hash for (var i = 0; i < els.length; i++) { var el = els[i]; el.href = href + el.getAttribute('href'); // because el.href is absolute path } })(); ================================================ FILE: docs/script/manual.js ================================================ (function(){ var matched = location.pathname.match(/\/(manual\/.*\.html)$/); if (!matched) return; var currentName = matched[1]; var cssClass = '.navigation .manual-toc li[data-link="' + currentName + '"]'; var styleText = cssClass + '{ display: block; }\n'; styleText += cssClass + '.indent-h1 a { color: #039BE5 }'; var style = document.createElement('style'); style.textContent = styleText; document.querySelector('head').appendChild(style); })(); ================================================ FILE: docs/script/patch-for-local.js ================================================ (function(){ if (location.protocol === 'file:') { var elms = document.querySelectorAll('a[href="./"]'); for (var i = 0; i < elms.length; i++) { elms[i].href = './index.html'; } } })(); ================================================ FILE: docs/script/prettify/Apache-License-2.0.txt ================================================ Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ================================================ FILE: docs/script/prettify/prettify.js ================================================ !function(){/* Copyright (C) 2006 Google Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ window.PR_SHOULD_USE_CONTINUATION=!0; (function(){function T(a){function d(e){var b=e.charCodeAt(0);if(92!==b)return b;var a=e.charAt(1);return(b=w[a])?b:"0"<=a&&"7">=a?parseInt(e.substring(1),8):"u"===a||"x"===a?parseInt(e.substring(2),16):e.charCodeAt(1)}function f(e){if(32>e)return(16>e?"\\x0":"\\x")+e.toString(16);e=String.fromCharCode(e);return"\\"===e||"-"===e||"]"===e||"^"===e?"\\"+e:e}function b(e){var b=e.substring(1,e.length-1).match(/\\u[0-9A-Fa-f]{4}|\\x[0-9A-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\s\S]|-|[^-\\]/g);e= [];var a="^"===b[0],c=["["];a&&c.push("^");for(var a=a?1:0,g=b.length;ak||122k||90k||122h[0]&&(h[1]+1>h[0]&&c.push("-"),c.push(f(h[1])));c.push("]");return c.join("")}function v(e){for(var a=e.source.match(/(?:\[(?:[^\x5C\x5D]|\\[\s\S])*\]|\\u[A-Fa-f0-9]{4}|\\x[A-Fa-f0-9]{2}|\\[0-9]+|\\[^ux0-9]|\(\?[:!=]|[\(\)\^]|[^\x5B\x5C\(\)\^]+)/g),c=a.length,d=[],g=0,h=0;g/,null])):d.push(["com",/^#[^\r\n]*/,null,"#"]));a.cStyleComments&&(f.push(["com",/^\/\/[^\r\n]*/,null]),f.push(["com",/^\/\*[\s\S]*?(?:\*\/|$)/,null]));if(b=a.regexLiterals){var v=(b=1|\\/=?|::?|<>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*("+ ("/(?=[^/*"+b+"])(?:[^/\\x5B\\x5C"+b+"]|\\x5C"+v+"|\\x5B(?:[^\\x5C\\x5D"+b+"]|\\x5C"+v+")*(?:\\x5D|$))+/")+")")])}(b=a.types)&&f.push(["typ",b]);b=(""+a.keywords).replace(/^ | $/g,"");b.length&&f.push(["kwd",new RegExp("^(?:"+b.replace(/[\s,]+/g,"|")+")\\b"),null]);d.push(["pln",/^\s+/,null," \r\n\t\u00a0"]);b="^.[^\\s\\w.$@'\"`/\\\\]*";a.regexLiterals&&(b+="(?!s*/)");f.push(["lit",/^@[a-z_$][a-z_$@0-9]*/i,null],["typ",/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],["pln",/^[a-z_$][a-z_$@0-9]*/i, null],["lit",/^(?:0x[a-f0-9]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+\-]?\d+)?)[a-z]*/i,null,"0123456789"],["pln",/^\\[\s\S]?/,null],["pun",new RegExp(b),null]);return G(d,f)}function L(a,d,f){function b(a){var c=a.nodeType;if(1==c&&!A.test(a.className))if("br"===a.nodeName)v(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)b(a);else if((3==c||4==c)&&f){var d=a.nodeValue,q=d.match(n);q&&(c=d.substring(0,q.index),a.nodeValue=c,(d=d.substring(q.index+q[0].length))&& a.parentNode.insertBefore(l.createTextNode(d),a.nextSibling),v(a),c||a.parentNode.removeChild(a))}}function v(a){function b(a,c){var d=c?a.cloneNode(!1):a,k=a.parentNode;if(k){var k=b(k,1),e=a.nextSibling;k.appendChild(d);for(var f=e;f;f=e)e=f.nextSibling,k.appendChild(f)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;a=b(a.nextSibling,0);for(var d;(d=a.parentNode)&&1===d.nodeType;)a=d;c.push(a)}for(var A=/(?:^|\s)nocode(?:\s|$)/,n=/\r\n?|\n/,l=a.ownerDocument,m=l.createElement("li");a.firstChild;)m.appendChild(a.firstChild); for(var c=[m],p=0;p=+v[1],d=/\n/g,A=a.a,n=A.length,f=0,l=a.c,m=l.length,b=0,c=a.g,p=c.length,w=0;c[p]=n;var r,e;for(e=r=0;e=h&&(b+=2);f>=k&&(w+=2)}}finally{g&&(g.style.display=a)}}catch(x){E.console&&console.log(x&&x.stack||x)}}var E=window,C=["break,continue,do,else,for,if,return,while"], F=[[C,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,restrict,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],H=[F,"alignas,alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,noexcept,noreturn,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"], O=[F,"abstract,assert,boolean,byte,extends,finally,final,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"],P=[F,"abstract,add,alias,as,ascending,async,await,base,bool,by,byte,checked,decimal,delegate,descending,dynamic,event,finally,fixed,foreach,from,get,global,group,implicit,in,interface,internal,into,is,join,let,lock,null,object,out,override,orderby,params,partial,readonly,ref,remove,sbyte,sealed,select,set,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,value,var,virtual,where,yield"], F=[F,"abstract,async,await,constructor,debugger,enum,eval,export,function,get,implements,instanceof,interface,let,null,set,undefined,var,with,yield,Infinity,NaN"],Q=[C,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],R=[C,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],C=[C,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"], S=/^(DIR|FILE|array|vector|(de|priority_)?queue|(forward_)?list|stack|(const_)?(reverse_)?iterator|(unordered_)?(multi)?(set|map)|bitset|u?(int|float)\d*)\b/,W=/\S/,X=y({keywords:[H,P,O,F,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",Q,R,C],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),I={};t(X,["default-code"]);t(G([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),"default-markup htm html mxml xhtml xml xsl".split(" "));t(G([["pln",/^[\s]+/,null," \t\r\n"],["atv",/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null, "\"'"]],[["tag",/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],["pun",/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);t(G([],[["atv",/^[\s\S]+/]]),["uq.val"]);t(y({keywords:H, hashComments:!0,cStyleComments:!0,types:S}),"c cc cpp cxx cyc m".split(" "));t(y({keywords:"null,true,false"}),["json"]);t(y({keywords:P,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:S}),["cs"]);t(y({keywords:O,cStyleComments:!0}),["java"]);t(y({keywords:C,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]);t(y({keywords:Q,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]);t(y({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END", hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]);t(y({keywords:R,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]);t(y({keywords:F,cStyleComments:!0,regexLiterals:!0}),["javascript","js","ts","typescript"]);t(y({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0, regexLiterals:!0}),["coffee"]);t(G([],[["str",/^[\s\S]+/]]),["regex"]);var Y=E.PR={createSimpleLexer:G,registerLangHandler:t,sourceDecorator:y,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:E.prettyPrintOne=function(a,d,f){f=f||!1;d=d||null;var b=document.createElement("div");b.innerHTML="
"+a+"
"; b=b.firstChild;f&&L(b,f,!0);M({j:d,m:f,h:b,l:1,a:null,i:null,c:null,g:null});return b.innerHTML},prettyPrint:E.prettyPrint=function(a,d){function f(){for(var b=E.PR_SHOULD_USE_CONTINUATION?c.now()+250:Infinity;p' + pair[2] + ''); } } var innerHTML = ''; for (kind in html) { var list = html[kind]; if (!list.length) continue; innerHTML += '
  • ' + kind + '
  • \n' + list.join('\n'); } result.innerHTML = innerHTML; if (innerHTML) result.style.display = 'block'; selectedIndex = -1; }); // down, up and enter key are pressed, select search result. input.addEventListener('keydown', function(ev){ if (ev.keyCode === 40) { // arrow down var current = result.children[selectedIndex]; var selected = result.children[selectedIndex + 1]; if (selected && selected.classList.contains('search-separator')) { var selected = result.children[selectedIndex + 2]; selectedIndex++; } if (selected) { if (current) current.classList.remove('selected'); selectedIndex++; selected.classList.add('selected'); } } else if (ev.keyCode === 38) { // arrow up var current = result.children[selectedIndex]; var selected = result.children[selectedIndex - 1]; if (selected && selected.classList.contains('search-separator')) { var selected = result.children[selectedIndex - 2]; selectedIndex--; } if (selected) { if (current) current.classList.remove('selected'); selectedIndex--; selected.classList.add('selected'); } } else if (ev.keyCode === 13) { // enter var current = result.children[selectedIndex]; if (current) { var link = current.querySelector('a'); if (link) location.href = link.href; } } else { return; } ev.preventDefault(); }); // select search result when search result is mouse over. result.addEventListener('mousemove', function(ev){ var current = result.children[selectedIndex]; if (current) current.classList.remove('selected'); var li = ev.target; while (li) { if (li.nodeName === 'LI') break; li = li.parentElement; } if (li) { selectedIndex = Array.prototype.indexOf.call(result.children, li); li.classList.add('selected'); } }); // clear search result when body is clicked. document.body.addEventListener('click', function(ev){ selectedIndex = -1; result.style.display = 'none'; result.innerHTML = ''; }); })(); ================================================ FILE: docs/script/search_index.js ================================================ window.esdocSearchIndex = [ [ "collisions/src/modules/body.mjs~body", "class/src/modules/Body.mjs~Body.html", "Body collisions/src/modules/Body.mjs", "class" ], [ "collisions/src/modules/circle.mjs~circle", "class/src/modules/Circle.mjs~Circle.html", "Circle collisions/src/modules/Circle.mjs", "class" ], [ "collisions~collisions", "class/src/Collisions.mjs~Collisions.html", "Collisions collisions", "class" ], [ "collisions/src/modules/point.mjs~point", "class/src/modules/Point.mjs~Point.html", "Point collisions/src/modules/Point.mjs", "class" ], [ "collisions/src/modules/polygon.mjs~polygon", "class/src/modules/Polygon.mjs~Polygon.html", "Polygon collisions/src/modules/Polygon.mjs", "class" ], [ "collisions/src/modules/result.mjs~result", "class/src/modules/Result.mjs~Result.html", "Result collisions/src/modules/Result.mjs", "class" ], [ "src/.external-ecmascript.js~array", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array", "src/.external-ecmascript.js~Array", "external" ], [ "src/.external-ecmascript.js~arraybuffer", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer", "src/.external-ecmascript.js~ArrayBuffer", "external" ], [ "src/.external-ecmascript.js~boolean", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean", "src/.external-ecmascript.js~Boolean", "external" ], [ "src/.external-ecmascript.js~dataview", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView", "src/.external-ecmascript.js~DataView", "external" ], [ "src/.external-ecmascript.js~date", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date", "src/.external-ecmascript.js~Date", "external" ], [ "src/.external-ecmascript.js~error", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error", "src/.external-ecmascript.js~Error", "external" ], [ "src/.external-ecmascript.js~evalerror", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError", "src/.external-ecmascript.js~EvalError", "external" ], [ "src/.external-ecmascript.js~float32array", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array", "src/.external-ecmascript.js~Float32Array", "external" ], [ "src/.external-ecmascript.js~float64array", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array", "src/.external-ecmascript.js~Float64Array", "external" ], [ "src/.external-ecmascript.js~function", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function", "src/.external-ecmascript.js~Function", "external" ], [ "src/.external-ecmascript.js~generator", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator", "src/.external-ecmascript.js~Generator", "external" ], [ "src/.external-ecmascript.js~generatorfunction", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction", "src/.external-ecmascript.js~GeneratorFunction", "external" ], [ "src/.external-ecmascript.js~infinity", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity", "src/.external-ecmascript.js~Infinity", "external" ], [ "src/.external-ecmascript.js~int16array", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array", "src/.external-ecmascript.js~Int16Array", "external" ], [ "src/.external-ecmascript.js~int32array", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array", "src/.external-ecmascript.js~Int32Array", "external" ], [ "src/.external-ecmascript.js~int8array", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array", "src/.external-ecmascript.js~Int8Array", "external" ], [ "src/.external-ecmascript.js~internalerror", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError", "src/.external-ecmascript.js~InternalError", "external" ], [ "src/.external-ecmascript.js~json", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON", "src/.external-ecmascript.js~JSON", "external" ], [ "src/.external-ecmascript.js~map", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map", "src/.external-ecmascript.js~Map", "external" ], [ "src/.external-ecmascript.js~nan", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN", "src/.external-ecmascript.js~NaN", "external" ], [ "src/.external-ecmascript.js~number", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number", "src/.external-ecmascript.js~Number", "external" ], [ "src/.external-ecmascript.js~object", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object", "src/.external-ecmascript.js~Object", "external" ], [ "src/.external-ecmascript.js~promise", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise", "src/.external-ecmascript.js~Promise", "external" ], [ "src/.external-ecmascript.js~proxy", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy", "src/.external-ecmascript.js~Proxy", "external" ], [ "src/.external-ecmascript.js~rangeerror", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError", "src/.external-ecmascript.js~RangeError", "external" ], [ "src/.external-ecmascript.js~referenceerror", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError", "src/.external-ecmascript.js~ReferenceError", "external" ], [ "src/.external-ecmascript.js~reflect", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect", "src/.external-ecmascript.js~Reflect", "external" ], [ "src/.external-ecmascript.js~regexp", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp", "src/.external-ecmascript.js~RegExp", "external" ], [ "src/.external-ecmascript.js~set", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set", "src/.external-ecmascript.js~Set", "external" ], [ "src/.external-ecmascript.js~string", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String", "src/.external-ecmascript.js~String", "external" ], [ "src/.external-ecmascript.js~symbol", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol", "src/.external-ecmascript.js~Symbol", "external" ], [ "src/.external-ecmascript.js~syntaxerror", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError", "src/.external-ecmascript.js~SyntaxError", "external" ], [ "src/.external-ecmascript.js~typeerror", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError", "src/.external-ecmascript.js~TypeError", "external" ], [ "src/.external-ecmascript.js~urierror", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError", "src/.external-ecmascript.js~URIError", "external" ], [ "src/.external-ecmascript.js~uint16array", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array", "src/.external-ecmascript.js~Uint16Array", "external" ], [ "src/.external-ecmascript.js~uint32array", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array", "src/.external-ecmascript.js~Uint32Array", "external" ], [ "src/.external-ecmascript.js~uint8array", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array", "src/.external-ecmascript.js~Uint8Array", "external" ], [ "src/.external-ecmascript.js~uint8clampedarray", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray", "src/.external-ecmascript.js~Uint8ClampedArray", "external" ], [ "src/.external-ecmascript.js~weakmap", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap", "src/.external-ecmascript.js~WeakMap", "external" ], [ "src/.external-ecmascript.js~weakset", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet", "src/.external-ecmascript.js~WeakSet", "external" ], [ "src/.external-ecmascript.js~boolean", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean", "src/.external-ecmascript.js~boolean", "external" ], [ "src/.external-ecmascript.js~function", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function", "src/.external-ecmascript.js~function", "external" ], [ "src/.external-ecmascript.js~null", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null", "src/.external-ecmascript.js~null", "external" ], [ "src/.external-ecmascript.js~number", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number", "src/.external-ecmascript.js~number", "external" ], [ "src/.external-ecmascript.js~object", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object", "src/.external-ecmascript.js~object", "external" ], [ "src/.external-ecmascript.js~string", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String", "src/.external-ecmascript.js~string", "external" ], [ "src/.external-ecmascript.js~undefined", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined", "src/.external-ecmascript.js~undefined", "external" ], [ "src/collisions.mjs", "file/src/Collisions.mjs.html", "src/Collisions.mjs", "file" ], [ "src/collisions.mjs~collisions#collides", "class/src/Collisions.mjs~Collisions.html#instance-method-collides", "src/Collisions.mjs~Collisions#collides", "method" ], [ "src/collisions.mjs~collisions#constructor", "class/src/Collisions.mjs~Collisions.html#instance-constructor-constructor", "src/Collisions.mjs~Collisions#constructor", "method" ], [ "src/collisions.mjs~collisions#createcircle", "class/src/Collisions.mjs~Collisions.html#instance-method-createCircle", "src/Collisions.mjs~Collisions#createCircle", "method" ], [ "src/collisions.mjs~collisions#createpoint", "class/src/Collisions.mjs~Collisions.html#instance-method-createPoint", "src/Collisions.mjs~Collisions#createPoint", "method" ], [ "src/collisions.mjs~collisions#createpolygon", "class/src/Collisions.mjs~Collisions.html#instance-method-createPolygon", "src/Collisions.mjs~Collisions#createPolygon", "method" ], [ "src/collisions.mjs~collisions#createresult", "class/src/Collisions.mjs~Collisions.html#instance-method-createResult", "src/Collisions.mjs~Collisions#createResult", "method" ], [ "src/collisions.mjs~collisions#draw", "class/src/Collisions.mjs~Collisions.html#instance-method-draw", "src/Collisions.mjs~Collisions#draw", "method" ], [ "src/collisions.mjs~collisions#drawbvh", "class/src/Collisions.mjs~Collisions.html#instance-method-drawBVH", "src/Collisions.mjs~Collisions#drawBVH", "method" ], [ "src/collisions.mjs~collisions#insert", "class/src/Collisions.mjs~Collisions.html#instance-method-insert", "src/Collisions.mjs~Collisions#insert", "method" ], [ "src/collisions.mjs~collisions#potentials", "class/src/Collisions.mjs~Collisions.html#instance-method-potentials", "src/Collisions.mjs~Collisions#potentials", "method" ], [ "src/collisions.mjs~collisions#remove", "class/src/Collisions.mjs~Collisions.html#instance-method-remove", "src/Collisions.mjs~Collisions#remove", "method" ], [ "src/collisions.mjs~collisions#update", "class/src/Collisions.mjs~Collisions.html#instance-method-update", "src/Collisions.mjs~Collisions#update", "method" ], [ "src/collisions.mjs~collisions.createresult", "class/src/Collisions.mjs~Collisions.html#static-method-createResult", "src/Collisions.mjs~Collisions.createResult", "method" ], [ "src/modules/bvh.mjs", "file/src/modules/BVH.mjs.html", "src/modules/BVH.mjs", "file" ], [ "src/modules/bvhbranch.mjs", "file/src/modules/BVHBranch.mjs.html", "src/modules/BVHBranch.mjs", "file" ], [ "src/modules/body.mjs", "file/src/modules/Body.mjs.html", "src/modules/Body.mjs", "file" ], [ "src/modules/body.mjs~body#collides", "class/src/modules/Body.mjs~Body.html#instance-method-collides", "src/modules/Body.mjs~Body#collides", "method" ], [ "src/modules/body.mjs~body#constructor", "class/src/modules/Body.mjs~Body.html#instance-constructor-constructor", "src/modules/Body.mjs~Body#constructor", "method" ], [ "src/modules/body.mjs~body#createresult", "class/src/modules/Body.mjs~Body.html#instance-method-createResult", "src/modules/Body.mjs~Body#createResult", "method" ], [ "src/modules/body.mjs~body#padding", "class/src/modules/Body.mjs~Body.html#instance-member-padding", "src/modules/Body.mjs~Body#padding", "member" ], [ "src/modules/body.mjs~body#potentials", "class/src/modules/Body.mjs~Body.html#instance-method-potentials", "src/modules/Body.mjs~Body#potentials", "method" ], [ "src/modules/body.mjs~body#remove", "class/src/modules/Body.mjs~Body.html#instance-method-remove", "src/modules/Body.mjs~Body#remove", "method" ], [ "src/modules/body.mjs~body#x", "class/src/modules/Body.mjs~Body.html#instance-member-x", "src/modules/Body.mjs~Body#x", "member" ], [ "src/modules/body.mjs~body#y", "class/src/modules/Body.mjs~Body.html#instance-member-y", "src/modules/Body.mjs~Body#y", "member" ], [ "src/modules/body.mjs~body.createresult", "class/src/modules/Body.mjs~Body.html#static-method-createResult", "src/modules/Body.mjs~Body.createResult", "method" ], [ "src/modules/circle.mjs", "file/src/modules/Circle.mjs.html", "src/modules/Circle.mjs", "file" ], [ "src/modules/circle.mjs~circle#constructor", "class/src/modules/Circle.mjs~Circle.html#instance-constructor-constructor", "src/modules/Circle.mjs~Circle#constructor", "method" ], [ "src/modules/circle.mjs~circle#draw", "class/src/modules/Circle.mjs~Circle.html#instance-method-draw", "src/modules/Circle.mjs~Circle#draw", "method" ], [ "src/modules/circle.mjs~circle#radius", "class/src/modules/Circle.mjs~Circle.html#instance-member-radius", "src/modules/Circle.mjs~Circle#radius", "member" ], [ "src/modules/circle.mjs~circle#scale", "class/src/modules/Circle.mjs~Circle.html#instance-member-scale", "src/modules/Circle.mjs~Circle#scale", "member" ], [ "src/modules/point.mjs", "file/src/modules/Point.mjs.html", "src/modules/Point.mjs", "file" ], [ "src/modules/point.mjs~point#constructor", "class/src/modules/Point.mjs~Point.html#instance-constructor-constructor", "src/modules/Point.mjs~Point#constructor", "method" ], [ "src/modules/polygon.mjs", "file/src/modules/Polygon.mjs.html", "src/modules/Polygon.mjs", "file" ], [ "src/modules/polygon.mjs~polygon#angle", "class/src/modules/Polygon.mjs~Polygon.html#instance-member-angle", "src/modules/Polygon.mjs~Polygon#angle", "member" ], [ "src/modules/polygon.mjs~polygon#constructor", "class/src/modules/Polygon.mjs~Polygon.html#instance-constructor-constructor", "src/modules/Polygon.mjs~Polygon#constructor", "method" ], [ "src/modules/polygon.mjs~polygon#draw", "class/src/modules/Polygon.mjs~Polygon.html#instance-method-draw", "src/modules/Polygon.mjs~Polygon#draw", "method" ], [ "src/modules/polygon.mjs~polygon#scale_x", "class/src/modules/Polygon.mjs~Polygon.html#instance-member-scale_x", "src/modules/Polygon.mjs~Polygon#scale_x", "member" ], [ "src/modules/polygon.mjs~polygon#scale_y", "class/src/modules/Polygon.mjs~Polygon.html#instance-member-scale_y", "src/modules/Polygon.mjs~Polygon#scale_y", "member" ], [ "src/modules/polygon.mjs~polygon#setpoints", "class/src/modules/Polygon.mjs~Polygon.html#instance-method-setPoints", "src/modules/Polygon.mjs~Polygon#setPoints", "method" ], [ "src/modules/result.mjs", "file/src/modules/Result.mjs.html", "src/modules/Result.mjs", "file" ], [ "src/modules/result.mjs~result#a", "class/src/modules/Result.mjs~Result.html#instance-member-a", "src/modules/Result.mjs~Result#a", "member" ], [ "src/modules/result.mjs~result#a_in_b", "class/src/modules/Result.mjs~Result.html#instance-member-a_in_b", "src/modules/Result.mjs~Result#a_in_b", "member" ], [ "src/modules/result.mjs~result#b", "class/src/modules/Result.mjs~Result.html#instance-member-b", "src/modules/Result.mjs~Result#b", "member" ], [ "src/modules/result.mjs~result#collision", "class/src/modules/Result.mjs~Result.html#instance-member-collision", "src/modules/Result.mjs~Result#collision", "member" ], [ "src/modules/result.mjs~result#constructor", "class/src/modules/Result.mjs~Result.html#instance-constructor-constructor", "src/modules/Result.mjs~Result#constructor", "method" ], [ "src/modules/result.mjs~result#overlap", "class/src/modules/Result.mjs~Result.html#instance-member-overlap", "src/modules/Result.mjs~Result#overlap", "member" ], [ "src/modules/result.mjs~result#overlap_x", "class/src/modules/Result.mjs~Result.html#instance-member-overlap_x", "src/modules/Result.mjs~Result#overlap_x", "member" ], [ "src/modules/result.mjs~result#overlap_y", "class/src/modules/Result.mjs~Result.html#instance-member-overlap_y", "src/modules/Result.mjs~Result#overlap_y", "member" ], [ "src/modules/sat.mjs", "file/src/modules/SAT.mjs.html", "src/modules/SAT.mjs", "file" ] ] ================================================ FILE: docs/script/test-summary.js ================================================ (function(){ function toggle(ev) { var button = ev.target; var parent = ev.target.parentElement; while(parent) { if (parent.tagName === 'TR' && parent.classList.contains('test-interface')) break; parent = parent.parentElement; } if (!parent) return; var direction; if (button.classList.contains('opened')) { button.classList.remove('opened'); button.classList.add('closed'); direction = 'closed'; } else { button.classList.remove('closed'); button.classList.add('opened'); direction = 'opened'; } var targetDepth = parseInt(parent.dataset.testDepth, 10) + 1; var nextElement = parent.nextElementSibling; while (nextElement) { var depth = parseInt(nextElement.dataset.testDepth, 10); if (depth >= targetDepth) { if (direction === 'opened') { if (depth === targetDepth) nextElement.style.display = ''; } else if (direction === 'closed') { nextElement.style.display = 'none'; var innerButton = nextElement.querySelector('.toggle'); if (innerButton && innerButton.classList.contains('opened')) { innerButton.classList.remove('opened'); innerButton.classList.add('closed'); } } } else { break; } nextElement = nextElement.nextElementSibling; } } var buttons = document.querySelectorAll('.test-summary tr.test-interface .toggle'); for (var i = 0; i < buttons.length; i++) { buttons[i].addEventListener('click', toggle); } var topDescribes = document.querySelectorAll('.test-summary tr[data-test-depth="0"]'); for (var i = 0; i < topDescribes.length; i++) { topDescribes[i].style.display = ''; } })(); ================================================ FILE: docs/source.html ================================================ Source | collisions
    Home Reference Source

    Source 110/110

    File Identifier Document Size Lines Updated
    src/Collisions.mjs Collisions 100 %15/15 4552 byte 163 2017-12-01 05:47:46 (UTC)
    src/modules/BVH.mjs - 100 %11/11 11371 byte 410 2017-12-01 05:48:46 (UTC)
    src/modules/BVHBranch.mjs - 100 %15/15 1205 byte 73 2017-12-01 05:28:16 (UTC)
    src/modules/Body.mjs Body 100 %21/21 2444 byte 118 2017-11-02 18:10:13 (UTC)
    src/modules/Circle.mjs Circle 100 %5/5 1036 byte 44 2017-11-03 05:42:08 (UTC)
    src/modules/Point.mjs Point 100 %3/3 555 byte 22 2017-12-01 05:27:54 (UTC)
    src/modules/Polygon.mjs Polygon 100 %25/25 5619 byte 245 2017-12-01 05:28:06 (UTC)
    src/modules/Result.mjs Result 100 %9/9 1158 byte 60 2017-12-01 05:27:26 (UTC)
    src/modules/SAT.mjs - 100 %6/6 11274 byte 411 2017-12-01 05:27:21 (UTC)
    ================================================ FILE: package.json ================================================ { "name": "collisions", "version": "2.0.14", "description": "Collision detection for circles, polygons, and points", "module": "src/Collisions.mjs", "types": "collisions.d.ts", "scripts": { "build": "rm -rf ./docs/* && esdoc && webpack" }, "repository": { "type": "git", "url": "git+https://github.com/Sinova/Collisions.git" }, "keywords": [ "Collision", "Separating Axis Theorem", "Bounding Volume Hierarchy", "SAT", "BVH", "Circle", "Polygon", "Line", "Shape", "Separating", "Axis", "Theorem", "Bounding", "Volume", "Hierarchy" ], "author": "Samuel Hodge", "license": "MIT", "bugs": { "url": "https://github.com/Sinova/Collisions/issues" }, "homepage": "https://github.com/Sinova/Collisions#readme", "devDependencies": { "esdoc": "^1.0.4", "esdoc-standard-plugin": "^1.0.0", "html-webpack-plugin": "^2.30.1", "npm": "^5.5.1", "webpack": "^3.9.0" } } ================================================ FILE: src/Collisions.mjs ================================================ import BVH from './modules/BVH.mjs'; import Circle from './modules/Circle.mjs'; import Polygon from './modules/Polygon.mjs'; import Point from './modules/Point.mjs'; import Result from './modules/Result.mjs'; import SAT from './modules/SAT.mjs'; /** * A collision system used to track bodies in order to improve collision detection performance * @class */ class Collisions { /** * @constructor */ constructor() { /** @private */ this._bvh = new BVH(); } /** * Creates a {@link Circle} and inserts it into the collision system * @param {Number} [x = 0] The starting X coordinate * @param {Number} [y = 0] The starting Y coordinate * @param {Number} [radius = 0] The radius * @param {Number} [scale = 1] The scale * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions * @returns {Circle} */ createCircle(x = 0, y = 0, radius = 0, scale = 1, padding = 0) { const body = new Circle(x, y, radius, scale, padding); this._bvh.insert(body); return body; } /** * Creates a {@link Polygon} and inserts it into the collision system * @param {Number} [x = 0] The starting X coordinate * @param {Number} [y = 0] The starting Y coordinate * @param {Array} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...] * @param {Number} [angle = 0] The starting rotation in radians * @param {Number} [scale_x = 1] The starting scale along the X axis * @param {Number} [scale_y = 1] The starting scale long the Y axis * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions * @returns {Polygon} */ createPolygon(x = 0, y = 0, points = [[0, 0]], angle = 0, scale_x = 1, scale_y = 1, padding = 0) { const body = new Polygon(x, y, points, angle, scale_x, scale_y, padding); this._bvh.insert(body); return body; } /** * Creates a {@link Point} and inserts it into the collision system * @param {Number} [x = 0] The starting X coordinate * @param {Number} [y = 0] The starting Y coordinate * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions * @returns {Point} */ createPoint(x = 0, y = 0, padding = 0) { const body = new Point(x, y, padding); this._bvh.insert(body); return body; } /** * Creates a {@link Result} used to collect the detailed results of a collision test */ createResult() { return new Result(); } /** * Creates a Result used to collect the detailed results of a collision test */ static createResult() { return new Result(); } /** * Inserts bodies into the collision system * @param {...Circle|...Polygon|...Point} bodies */ insert(...bodies) { for(const body of bodies) { this._bvh.insert(body, false); } return this; } /** * Removes bodies from the collision system * @param {...Circle|...Polygon|...Point} bodies */ remove(...bodies) { for(const body of bodies) { this._bvh.remove(body, false); } return this; } /** * Updates the collision system. This should be called before any collisions are tested. */ update() { this._bvh.update(); return this; } /** * Draws the bodies within the system to a CanvasRenderingContext2D's current path * @param {CanvasRenderingContext2D} context The context to draw to */ draw(context) { return this._bvh.draw(context); } /** * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies. * @param {CanvasRenderingContext2D} context The context to draw to */ drawBVH(context) { return this._bvh.drawBVH(context); } /** * Returns a list of potential collisions for a body * @param {Circle|Polygon|Point} body The body to test for potential collisions against * @returns {Array} */ potentials(body) { return this._bvh.potentials(body); } /** * Determines if two bodies are colliding * @param {Circle|Polygon|Point} target The target body to test against * @param {Result} [result = null] A Result object on which to store information about the collision * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic) * @returns {Boolean} */ collides(source, target, result = null, aabb = true) { return SAT(source, target, result, aabb); } }; export { Collisions as default, Collisions, Result, Circle, Polygon, Point, }; ================================================ FILE: src/modules/BVH.mjs ================================================ import BVHBranch from './BVHBranch.mjs'; /** * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly * @class * @private */ export default class BVH { /** * @constructor */ constructor() { /** @private */ this._hierarchy = null; /** @private */ this._bodies = []; /** @private */ this._dirty_branches = []; } /** * Inserts a body into the BVH * @param {Circle|Polygon|Point} body The body to insert * @param {Boolean} [updating = false] Set to true if the body already exists in the BVH (used internally when updating the body's position) */ insert(body, updating = false) { if(!updating) { const bvh = body._bvh; if(bvh && bvh !== this) { throw new Error('Body belongs to another collision system'); } body._bvh = this; this._bodies.push(body); } const polygon = body._polygon; const body_x = body.x; const body_y = body.y; if(polygon) { if( body._dirty_coords || body.x !== body._x || body.y !== body._y || body.angle !== body._angle || body.scale_x !== body._scale_x || body.scale_y !== body._scale_y ) { body._calculateCoords(); } } const padding = body._bvh_padding; const radius = polygon ? 0 : body.radius * body.scale; const body_min_x = (polygon ? body._min_x : body_x - radius) - padding; const body_min_y = (polygon ? body._min_y : body_y - radius) - padding; const body_max_x = (polygon ? body._max_x : body_x + radius) + padding; const body_max_y = (polygon ? body._max_y : body_y + radius) + padding; body._bvh_min_x = body_min_x; body._bvh_min_y = body_min_y; body._bvh_max_x = body_max_x; body._bvh_max_y = body_max_y; let current = this._hierarchy; let sort = 0; if(!current) { this._hierarchy = body; } else { while(true) { // Branch if(current._bvh_branch) { const left = current._bvh_left; const left_min_y = left._bvh_min_y; const left_max_x = left._bvh_max_x; const left_max_y = left._bvh_max_y; const left_new_min_x = body_min_x < left._bvh_min_x ? body_min_x : left._bvh_min_x; const left_new_min_y = body_min_y < left_min_y ? body_min_y : left_min_y; const left_new_max_x = body_max_x > left_max_x ? body_max_x : left_max_x; const left_new_max_y = body_max_y > left_max_y ? body_max_y : left_max_y; const left_volume = (left_max_x - left._bvh_min_x) * (left_max_y - left_min_y); const left_new_volume = (left_new_max_x - left_new_min_x) * (left_new_max_y - left_new_min_y); const left_difference = left_new_volume - left_volume; const right = current._bvh_right; const right_min_x = right._bvh_min_x; const right_min_y = right._bvh_min_y; const right_max_x = right._bvh_max_x; const right_max_y = right._bvh_max_y; const right_new_min_x = body_min_x < right_min_x ? body_min_x : right_min_x; const right_new_min_y = body_min_y < right_min_y ? body_min_y : right_min_y; const right_new_max_x = body_max_x > right_max_x ? body_max_x : right_max_x; const right_new_max_y = body_max_y > right_max_y ? body_max_y : right_max_y; const right_volume = (right_max_x - right_min_x) * (right_max_y - right_min_y); const right_new_volume = (right_new_max_x - right_new_min_x) * (right_new_max_y - right_new_min_y); const right_difference = right_new_volume - right_volume; current._bvh_sort = sort++; current._bvh_min_x = left_new_min_x < right_new_min_x ? left_new_min_x : right_new_min_x; current._bvh_min_y = left_new_min_y < right_new_min_y ? left_new_min_y : right_new_min_y; current._bvh_max_x = left_new_max_x > right_new_max_x ? left_new_max_x : right_new_max_x; current._bvh_max_y = left_new_max_y > right_new_max_y ? left_new_max_y : right_new_max_y; current = left_difference <= right_difference ? left : right; } // Leaf else { const grandparent = current._bvh_parent; const parent_min_x = current._bvh_min_x; const parent_min_y = current._bvh_min_y; const parent_max_x = current._bvh_max_x; const parent_max_y = current._bvh_max_y; const new_parent = current._bvh_parent = body._bvh_parent = BVHBranch.getBranch(); new_parent._bvh_parent = grandparent; new_parent._bvh_left = current; new_parent._bvh_right = body; new_parent._bvh_sort = sort++; new_parent._bvh_min_x = body_min_x < parent_min_x ? body_min_x : parent_min_x; new_parent._bvh_min_y = body_min_y < parent_min_y ? body_min_y : parent_min_y; new_parent._bvh_max_x = body_max_x > parent_max_x ? body_max_x : parent_max_x; new_parent._bvh_max_y = body_max_y > parent_max_y ? body_max_y : parent_max_y; if(!grandparent) { this._hierarchy = new_parent; } else if(grandparent._bvh_left === current) { grandparent._bvh_left = new_parent; } else { grandparent._bvh_right = new_parent; } break; } } } } /** * Removes a body from the BVH * @param {Circle|Polygon|Point} body The body to remove * @param {Boolean} [updating = false] Set to true if this is a temporary removal (used internally when updating the body's position) */ remove(body, updating = false) { if(!updating) { const bvh = body._bvh; if(bvh && bvh !== this) { throw new Error('Body belongs to another collision system'); } body._bvh = null; this._bodies.splice(this._bodies.indexOf(body), 1); } if(this._hierarchy === body) { this._hierarchy = null; return; } const parent = body._bvh_parent; const grandparent = parent._bvh_parent; const parent_left = parent._bvh_left; const sibling = parent_left === body ? parent._bvh_right : parent_left; sibling._bvh_parent = grandparent; if(sibling._bvh_branch) { sibling._bvh_sort = parent._bvh_sort; } if(grandparent) { if(grandparent._bvh_left === parent) { grandparent._bvh_left = sibling; } else { grandparent._bvh_right = sibling; } let branch = grandparent; while(branch) { const left = branch._bvh_left; const left_min_x = left._bvh_min_x; const left_min_y = left._bvh_min_y; const left_max_x = left._bvh_max_x; const left_max_y = left._bvh_max_y; const right = branch._bvh_right; const right_min_x = right._bvh_min_x; const right_min_y = right._bvh_min_y; const right_max_x = right._bvh_max_x; const right_max_y = right._bvh_max_y; branch._bvh_min_x = left_min_x < right_min_x ? left_min_x : right_min_x; branch._bvh_min_y = left_min_y < right_min_y ? left_min_y : right_min_y; branch._bvh_max_x = left_max_x > right_max_x ? left_max_x : right_max_x; branch._bvh_max_y = left_max_y > right_max_y ? left_max_y : right_max_y; branch = branch._bvh_parent; } } else { this._hierarchy = sibling; } BVHBranch.releaseBranch(parent); } /** * Updates the BVH. Moved bodies are removed/inserted. */ update() { const bodies = this._bodies; const count = bodies.length; for(let i = 0; i < count; ++i) { const body = bodies[i]; let update = false; if(!update && body.padding !== body._bvh_padding) { body._bvh_padding = body.padding; update = true; } if(!update) { const polygon = body._polygon; if(polygon) { if( body._dirty_coords || body.x !== body._x || body.y !== body._y || body.angle !== body._angle || body.scale_x !== body._scale_x || body.scale_y !== body._scale_y ) { body._calculateCoords(); } } const x = body.x; const y = body.y; const radius = polygon ? 0 : body.radius * body.scale; const min_x = polygon ? body._min_x : x - radius; const min_y = polygon ? body._min_y : y - radius; const max_x = polygon ? body._max_x : x + radius; const max_y = polygon ? body._max_y : y + radius; update = min_x < body._bvh_min_x || min_y < body._bvh_min_y || max_x > body._bvh_max_x || max_y > body._bvh_max_y; } if(update) { this.remove(body, true); this.insert(body, true); } } } /** * Returns a list of potential collisions for a body * @param {Circle|Polygon|Point} body The body to test * @returns {Array} */ potentials(body) { const results = []; const min_x = body._bvh_min_x; const min_y = body._bvh_min_y; const max_x = body._bvh_max_x; const max_y = body._bvh_max_y; let current = this._hierarchy; let traverse_left = true; if(!current || !current._bvh_branch) { return results; } while(current) { if(traverse_left) { traverse_left = false; let left = current._bvh_branch ? current._bvh_left : null; while( left && left._bvh_max_x >= min_x && left._bvh_max_y >= min_y && left._bvh_min_x <= max_x && left._bvh_min_y <= max_y ) { current = left; left = current._bvh_branch ? current._bvh_left : null; } } const branch = current._bvh_branch; const right = branch ? current._bvh_right : null; if( right && right._bvh_max_x > min_x && right._bvh_max_y > min_y && right._bvh_min_x < max_x && right._bvh_min_y < max_y ) { current = right; traverse_left = true; } else { if(!branch && current !== body) { results.push(current); } let parent = current._bvh_parent; if(parent) { while(parent && parent._bvh_right === current) { current = parent; parent = current._bvh_parent; } current = parent; } else { break; } } } return results; } /** * Draws the bodies within the BVH to a CanvasRenderingContext2D's current path * @param {CanvasRenderingContext2D} context The context to draw to */ draw(context) { const bodies = this._bodies; const count = bodies.length; for(let i = 0; i < count; ++i) { bodies[i].draw(context); } } /** * Draws the BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies. * @param {CanvasRenderingContext2D} context The context to draw to */ drawBVH(context) { let current = this._hierarchy; let traverse_left = true; while(current) { if(traverse_left) { traverse_left = false; let left = current._bvh_branch ? current._bvh_left : null; while(left) { current = left; left = current._bvh_branch ? current._bvh_left : null; } } const branch = current._bvh_branch; const min_x = current._bvh_min_x; const min_y = current._bvh_min_y; const max_x = current._bvh_max_x; const max_y = current._bvh_max_y; const right = branch ? current._bvh_right : null; context.moveTo(min_x, min_y); context.lineTo(max_x, min_y); context.lineTo(max_x, max_y); context.lineTo(min_x, max_y); context.lineTo(min_x, min_y); if(right) { current = right; traverse_left = true; } else { let parent = current._bvh_parent; if(parent) { while(parent && parent._bvh_right === current) { current = parent; parent = current._bvh_parent; } current = parent; } else { break; } } } } }; ================================================ FILE: src/modules/BVHBranch.mjs ================================================ /** * @private */ const branch_pool = []; /** * A branch within a BVH * @class * @private */ export default class BVHBranch { /** * @constructor */ constructor() { /** @private */ this._bvh_parent = null; /** @private */ this._bvh_branch = true; /** @private */ this._bvh_left = null; /** @private */ this._bvh_right = null; /** @private */ this._bvh_sort = 0; /** @private */ this._bvh_min_x = 0; /** @private */ this._bvh_min_y = 0; /** @private */ this._bvh_max_x = 0; /** @private */ this._bvh_max_y = 0; } /** * Returns a branch from the branch pool or creates a new branch * @returns {BVHBranch} */ static getBranch() { if(branch_pool.length) { return branch_pool.pop(); } return new BVHBranch(); } /** * Releases a branch back into the branch pool * @param {BVHBranch} branch The branch to release */ static releaseBranch(branch) { branch_pool.push(branch); } /** * Sorting callback used to sort branches by deepest first * @param {BVHBranch} a The first branch * @param {BVHBranch} b The second branch * @returns {Number} */ static sortBranches(a, b) { return a.sort > b.sort ? -1 : 1; } }; ================================================ FILE: src/modules/Body.mjs ================================================ import Result from './Result.mjs'; import SAT from './SAT.mjs'; /** * The base class for bodies used to detect collisions * @class * @protected */ export default class Body { /** * @constructor * @param {Number} [x = 0] The starting X coordinate * @param {Number} [y = 0] The starting Y coordinate * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions */ constructor(x = 0, y = 0, padding = 0) { /** * @desc The X coordinate of the body * @type {Number} */ this.x = x; /** * @desc The Y coordinate of the body * @type {Number} */ this.y = y; /** * @desc The amount to pad the bounding volume when testing for potential collisions * @type {Number} */ this.padding = padding; /** @private */ this._circle = false; /** @private */ this._polygon = false; /** @private */ this._point = false; /** @private */ this._bvh = null; /** @private */ this._bvh_parent = null; /** @private */ this._bvh_branch = false; /** @private */ this._bvh_padding = padding; /** @private */ this._bvh_min_x = 0; /** @private */ this._bvh_min_y = 0; /** @private */ this._bvh_max_x = 0; /** @private */ this._bvh_max_y = 0; } /** * Determines if the body is colliding with another body * @param {Circle|Polygon|Point} target The target body to test against * @param {Result} [result = null] A Result object on which to store information about the collision * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic) * @returns {Boolean} */ collides(target, result = null, aabb = true) { return SAT(this, target, result, aabb); } /** * Returns a list of potential collisions * @returns {Array} */ potentials() { const bvh = this._bvh; if(bvh === null) { throw new Error('Body does not belong to a collision system'); } return bvh.potentials(this); } /** * Removes the body from its current collision system */ remove() { const bvh = this._bvh; if(bvh) { bvh.remove(this, false); } } /** * Creates a {@link Result} used to collect the detailed results of a collision test */ createResult() { return new Result(); } /** * Creates a Result used to collect the detailed results of a collision test */ static createResult() { return new Result(); } }; ================================================ FILE: src/modules/Circle.mjs ================================================ import Body from './Body.mjs'; /** * A circle used to detect collisions * @class */ export default class Circle extends Body { /** * @constructor * @param {Number} [x = 0] The starting X coordinate * @param {Number} [y = 0] The starting Y coordinate * @param {Number} [radius = 0] The radius * @param {Number} [scale = 1] The scale * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions */ constructor(x = 0, y = 0, radius = 0, scale = 1, padding = 0) { super(x, y, padding); /** * @desc * @type {Number} */ this.radius = radius; /** * @desc * @type {Number} */ this.scale = scale; } /** * Draws the circle to a CanvasRenderingContext2D's current path * @param {CanvasRenderingContext2D} context The context to add the arc to */ draw(context) { const x = this.x; const y = this.y; const radius = this.radius * this.scale; context.moveTo(x + radius, y); context.arc(x, y, radius, 0, Math.PI * 2); } }; ================================================ FILE: src/modules/Point.mjs ================================================ import Polygon from './Polygon.mjs'; /** * A point used to detect collisions * @class */ export default class Point extends Polygon { /** * @constructor * @param {Number} [x = 0] The starting X coordinate * @param {Number} [y = 0] The starting Y coordinate * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions */ constructor(x = 0, y = 0, padding = 0) { super(x, y, [[0, 0]], 0, 1, 1, padding); /** @private */ this._point = true; } }; Point.prototype.setPoints = undefined; ================================================ FILE: src/modules/Polygon.mjs ================================================ import Body from './Body.mjs'; /** * A polygon used to detect collisions * @class */ export default class Polygon extends Body { /** * @constructor * @param {Number} [x = 0] The starting X coordinate * @param {Number} [y = 0] The starting Y coordinate * @param {Array} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...] * @param {Number} [angle = 0] The starting rotation in radians * @param {Number} [scale_x = 1] The starting scale along the X axis * @param {Number} [scale_y = 1] The starting scale long the Y axis * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions */ constructor(x = 0, y = 0, points = [], angle = 0, scale_x = 1, scale_y = 1, padding = 0) { super(x, y, padding); /** * @desc The angle of the body in radians * @type {Number} */ this.angle = angle; /** * @desc The scale of the body along the X axis * @type {Number} */ this.scale_x = scale_x; /** * @desc The scale of the body along the Y axis * @type {Number} */ this.scale_y = scale_y; /** @private */ this._polygon = true; /** @private */ this._x = x; /** @private */ this._y = y; /** @private */ this._angle = angle; /** @private */ this._scale_x = scale_x; /** @private */ this._scale_y = scale_y; /** @private */ this._min_x = 0; /** @private */ this._min_y = 0; /** @private */ this._max_x = 0; /** @private */ this._max_y = 0; /** @private */ this._points = null; /** @private */ this._coords = null; /** @private */ this._edges = null; /** @private */ this._normals = null; /** @private */ this._dirty_coords = true; /** @private */ this._dirty_normals = true; Polygon.prototype.setPoints.call(this, points); } /** * Draws the polygon to a CanvasRenderingContext2D's current path * @param {CanvasRenderingContext2D} context The context to add the shape to */ draw(context) { if( this._dirty_coords || this.x !== this._x || this.y !== this._y || this.angle !== this._angle || this.scale_x !== this._scale_x || this.scale_y !== this._scale_y ) { this._calculateCoords(); } const coords = this._coords; if(coords.length === 2) { context.moveTo(coords[0], coords[1]); context.arc(coords[0], coords[1], 1, 0, Math.PI * 2); } else { context.moveTo(coords[0], coords[1]); for(let i = 2; i < coords.length; i += 2) { context.lineTo(coords[i], coords[i + 1]); } if(coords.length > 4) { context.lineTo(coords[0], coords[1]); } } } /** * Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated. * @param {Array} new_points An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...] */ setPoints(new_points) { const count = new_points.length; this._points = new Float64Array(count * 2); this._coords = new Float64Array(count * 2); this._edges = new Float64Array(count * 2); this._normals = new Float64Array(count * 2); const points = this._points; for(let i = 0, ix = 0, iy = 1; i < count; ++i, ix += 2, iy += 2) { const new_point = new_points[i]; points[ix] = new_point[0]; points[iy] = new_point[1]; } this._dirty_coords = true; } /** * Calculates and caches the polygon's world coordinates based on its points, angle, and scale */ _calculateCoords() { const x = this.x; const y = this.y; const angle = this.angle; const scale_x = this.scale_x; const scale_y = this.scale_y; const points = this._points; const coords = this._coords; const count = points.length; let min_x; let max_x; let min_y; let max_y; for(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) { let coord_x = points[ix] * scale_x; let coord_y = points[iy] * scale_y; if(angle) { const cos = Math.cos(angle); const sin = Math.sin(angle); const tmp_x = coord_x; const tmp_y = coord_y; coord_x = tmp_x * cos - tmp_y * sin; coord_y = tmp_x * sin + tmp_y * cos; } coord_x += x; coord_y += y; coords[ix] = coord_x; coords[iy] = coord_y; if(ix === 0) { min_x = max_x = coord_x; min_y = max_y = coord_y; } else { if(coord_x < min_x) { min_x = coord_x; } else if(coord_x > max_x) { max_x = coord_x; } if(coord_y < min_y) { min_y = coord_y; } else if(coord_y > max_y) { max_y = coord_y; } } } this._x = x; this._y = y; this._angle = angle; this._scale_x = scale_x; this._scale_y = scale_y; this._min_x = min_x; this._min_y = min_y; this._max_x = max_x; this._max_y = max_y; this._dirty_coords = false; this._dirty_normals = true; } /** * Calculates the normals and edges of the polygon's sides */ _calculateNormals() { const coords = this._coords; const edges = this._edges; const normals = this._normals; const count = coords.length; for(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) { const next = ix + 2 < count ? ix + 2 : 0; const x = coords[next] - coords[ix]; const y = coords[next + 1] - coords[iy]; const length = x || y ? Math.sqrt(x * x + y * y) : 0; edges[ix] = x; edges[iy] = y; normals[ix] = length ? y / length : 0; normals[iy] = length ? -x / length : 0; } this._dirty_normals = false; } }; ================================================ FILE: src/modules/Result.mjs ================================================ /** * An object used to collect the detailed results of a collision test * * > **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory * @class */ export default class Result { /** * @constructor */ constructor() { /** * @desc True if a collision was detected * @type {Boolean} */ this.collision = false; /** * @desc The source body tested * @type {Circle|Polygon|Point} */ this.a = null; /** * @desc The target body tested against * @type {Circle|Polygon|Point} */ this.b = null; /** * @desc True if A is completely contained within B * @type {Boolean} */ this.a_in_b = false; /** * @desc True if B is completely contained within A * @type {Boolean} */ this.b_in_a = false; /** * @desc The magnitude of the shortest axis of overlap * @type {Number} */ this.overlap = 0; /** * @desc The X direction of the shortest axis of overlap * @type {Number} */ this.overlap_x = 0; /** * @desc The Y direction of the shortest axis of overlap * @type {Number} */ this.overlap_y = 0; } }; ================================================ FILE: src/modules/SAT.mjs ================================================ /** * Determines if two bodies are colliding using the Separating Axis Theorem * @private * @param {Circle|Polygon|Point} a The source body to test * @param {Circle|Polygon|Point} b The target body to test against * @param {Result} [result = null] A Result object on which to store information about the collision * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own collision heuristic) * @returns {Boolean} */ export default function SAT(a, b, result = null, aabb = true) { const a_polygon = a._polygon; const b_polygon = b._polygon; let collision = false; if(result) { result.a = a; result.b = b; result.a_in_b = true; result.b_in_a = true; result.overlap = null; result.overlap_x = 0; result.overlap_y = 0; } if(a_polygon) { if( a._dirty_coords || a.x !== a._x || a.y !== a._y || a.angle !== a._angle || a.scale_x !== a._scale_x || a.scale_y !== a._scale_y ) { a._calculateCoords(); } } if(b_polygon) { if( b._dirty_coords || b.x !== b._x || b.y !== b._y || b.angle !== b._angle || b.scale_x !== b._scale_x || b.scale_y !== b._scale_y ) { b._calculateCoords(); } } if(!aabb || aabbAABB(a, b)) { if(a_polygon && a._dirty_normals) { a._calculateNormals(); } if(b_polygon && b._dirty_normals) { b._calculateNormals(); } collision = ( a_polygon && b_polygon ? polygonPolygon(a, b, result) : a_polygon ? polygonCircle(a, b, result, false) : b_polygon ? polygonCircle(b, a, result, true) : circleCircle(a, b, result) ); } if(result) { result.collision = collision; } return collision; }; /** * Determines if two bodies' axis aligned bounding boxes are colliding * @param {Circle|Polygon|Point} a The source body to test * @param {Circle|Polygon|Point} b The target body to test against */ function aabbAABB(a, b) { const a_polygon = a._polygon; const a_x = a_polygon ? 0 : a.x; const a_y = a_polygon ? 0 : a.y; const a_radius = a_polygon ? 0 : a.radius * a.scale; const a_min_x = a_polygon ? a._min_x : a_x - a_radius; const a_min_y = a_polygon ? a._min_y : a_y - a_radius; const a_max_x = a_polygon ? a._max_x : a_x + a_radius; const a_max_y = a_polygon ? a._max_y : a_y + a_radius; const b_polygon = b._polygon; const b_x = b_polygon ? 0 : b.x; const b_y = b_polygon ? 0 : b.y; const b_radius = b_polygon ? 0 : b.radius * b.scale; const b_min_x = b_polygon ? b._min_x : b_x - b_radius; const b_min_y = b_polygon ? b._min_y : b_y - b_radius; const b_max_x = b_polygon ? b._max_x : b_x + b_radius; const b_max_y = b_polygon ? b._max_y : b_y + b_radius; return a_min_x < b_max_x && a_min_y < b_max_y && a_max_x > b_min_x && a_max_y > b_min_y; } /** * Determines if two polygons are colliding * @param {Polygon} a The source polygon to test * @param {Polygon} b The target polygon to test against * @param {Result} [result = null] A Result object on which to store information about the collision * @returns {Boolean} */ function polygonPolygon(a, b, result = null) { const a_count = a._coords.length; const b_count = b._coords.length; // Handle points specially if(a_count === 2 && b_count === 2) { const a_coords = a._coords; const b_coords = b._coords; if(result) { result.overlap = 0; } return a_coords[0] === b_coords[0] && a_coords[1] === b_coords[1]; } const a_coords = a._coords; const b_coords = b._coords; const a_normals = a._normals; const b_normals = b._normals; if(a_count > 2) { for(let ix = 0, iy = 1; ix < a_count; ix += 2, iy += 2) { if(separatingAxis(a_coords, b_coords, a_normals[ix], a_normals[iy], result)) { return false; } } } if(b_count > 2) { for(let ix = 0, iy = 1; ix < b_count; ix += 2, iy += 2) { if(separatingAxis(a_coords, b_coords, b_normals[ix], b_normals[iy], result)) { return false; } } } return true; } /** * Determines if a polygon and a circle are colliding * @param {Polygon} a The source polygon to test * @param {Circle} b The target circle to test against * @param {Result} [result = null] A Result object on which to store information about the collision * @param {Boolean} [reverse = false] Set to true to reverse a and b in the result parameter when testing circle->polygon instead of polygon->circle * @returns {Boolean} */ function polygonCircle(a, b, result = null, reverse = false) { const a_coords = a._coords; const a_edges = a._edges; const a_normals = a._normals; const b_x = b.x; const b_y = b.y; const b_radius = b.radius * b.scale; const b_radius2 = b_radius * 2; const radius_squared = b_radius * b_radius; const count = a_coords.length; let a_in_b = true; let b_in_a = true; let overlap = null; let overlap_x = 0; let overlap_y = 0; // Handle points specially if(count === 2) { const coord_x = b_x - a_coords[0]; const coord_y = b_y - a_coords[1]; const length_squared = coord_x * coord_x + coord_y * coord_y; if(length_squared > radius_squared) { return false; } if(result) { const length = Math.sqrt(length_squared); overlap = b_radius - length; overlap_x = coord_x / length; overlap_y = coord_y / length; b_in_a = false; } } else { for(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) { const coord_x = b_x - a_coords[ix]; const coord_y = b_y - a_coords[iy]; const edge_x = a_edges[ix]; const edge_y = a_edges[iy]; const dot = coord_x * edge_x + coord_y * edge_y; const region = dot < 0 ? -1 : dot > edge_x * edge_x + edge_y * edge_y ? 1 : 0; let tmp_overlapping = false; let tmp_overlap = 0; let tmp_overlap_x = 0; let tmp_overlap_y = 0; if(result && a_in_b && coord_x * coord_x + coord_y * coord_y > radius_squared) { a_in_b = false; } if(region) { const left = region === -1; const other_x = left ? (ix === 0 ? count - 2 : ix - 2) : (ix === count - 2 ? 0 : ix + 2); const other_y = other_x + 1; const coord2_x = b_x - a_coords[other_x]; const coord2_y = b_y - a_coords[other_y]; const edge2_x = a_edges[other_x]; const edge2_y = a_edges[other_y]; const dot2 = coord2_x * edge2_x + coord2_y * edge2_y; const region2 = dot2 < 0 ? -1 : dot2 > edge2_x * edge2_x + edge2_y * edge2_y ? 1 : 0; if(region2 === -region) { const target_x = left ? coord_x : coord2_x; const target_y = left ? coord_y : coord2_y; const length_squared = target_x * target_x + target_y * target_y; if(length_squared > radius_squared) { return false; } if(result) { const length = Math.sqrt(length_squared); tmp_overlapping = true; tmp_overlap = b_radius - length; tmp_overlap_x = target_x / length; tmp_overlap_y = target_y / length; b_in_a = false; } } } else { const normal_x = a_normals[ix]; const normal_y = a_normals[iy]; const length = coord_x * normal_x + coord_y * normal_y; const absolute_length = length < 0 ? -length : length; if(length > 0 && absolute_length > b_radius) { return false; } if(result) { tmp_overlapping = true; tmp_overlap = b_radius - length; tmp_overlap_x = normal_x; tmp_overlap_y = normal_y; if(b_in_a && length >= 0 || tmp_overlap < b_radius2) { b_in_a = false; } } } if(tmp_overlapping && (overlap === null || overlap > tmp_overlap)) { overlap = tmp_overlap; overlap_x = tmp_overlap_x; overlap_y = tmp_overlap_y; } } } if(result) { result.a_in_b = reverse ? b_in_a : a_in_b; result.b_in_a = reverse ? a_in_b : b_in_a; result.overlap = overlap; result.overlap_x = reverse ? -overlap_x : overlap_x; result.overlap_y = reverse ? -overlap_y : overlap_y; } return true; } /** * Determines if two circles are colliding * @param {Circle} a The source circle to test * @param {Circle} b The target circle to test against * @param {Result} [result = null] A Result object on which to store information about the collision * @returns {Boolean} */ function circleCircle(a, b, result = null) { const a_radius = a.radius * a.scale; const b_radius = b.radius * b.scale; const difference_x = b.x - a.x; const difference_y = b.y - a.y; const radius_sum = a_radius + b_radius; const length_squared = difference_x * difference_x + difference_y * difference_y; if(length_squared > radius_sum * radius_sum) { return false; } if(result) { const length = Math.sqrt(length_squared); result.a_in_b = a_radius <= b_radius && length <= b_radius - a_radius; result.b_in_a = b_radius <= a_radius && length <= a_radius - b_radius; result.overlap = radius_sum - length; result.overlap_x = difference_x / length; result.overlap_y = difference_y / length; } return true; } /** * Determines if two polygons are separated by an axis * @param {Array} a_coords The coordinates of the polygon to test * @param {Array} b_coords The coordinates of the polygon to test against * @param {Number} x The X direction of the axis * @param {Number} y The Y direction of the axis * @param {Result} [result = null] A Result object on which to store information about the collision * @returns {Boolean} */ function separatingAxis(a_coords, b_coords, x, y, result = null) { const a_count = a_coords.length; const b_count = b_coords.length; if(!a_count || !b_count) { return true; } let a_start = null; let a_end = null; let b_start = null; let b_end = null; for(let ix = 0, iy = 1; ix < a_count; ix += 2, iy += 2) { const dot = a_coords[ix] * x + a_coords[iy] * y; if(a_start === null || a_start > dot) { a_start = dot; } if(a_end === null || a_end < dot) { a_end = dot; } } for(let ix = 0, iy = 1; ix < b_count; ix += 2, iy += 2) { const dot = b_coords[ix] * x + b_coords[iy] * y; if(b_start === null || b_start > dot) { b_start = dot; } if(b_end === null || b_end < dot) { b_end = dot; } } if(a_start > b_end || a_end < b_start) { return true; } if(result) { let overlap = 0; if(a_start < b_start) { result.a_in_b = false; if(a_end < b_end) { overlap = a_end - b_start; result.b_in_a = false; } else { const option1 = a_end - b_start; const option2 = b_end - a_start; overlap = option1 < option2 ? option1 : -option2; } } else { result.b_in_a = false; if(a_end > b_end) { overlap = a_start - b_end; result.a_in_b = false; } else { const option1 = a_end - b_start; const option2 = b_end - a_start; overlap = option1 < option2 ? option1 : -option2; } } const current_overlap = result.overlap; const absolute_overlap = overlap < 0 ? -overlap : overlap; if(current_overlap === null || current_overlap > absolute_overlap) { const sign = overlap < 0 ? -1 : 1; result.overlap = absolute_overlap; result.overlap_x = x * sign; result.overlap_y = y * sign; } } return false; } ================================================ FILE: webpack.config.js ================================================ const HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { entry : './demo/index.mjs', plugins : [ new HtmlWebpackPlugin({ filename : 'index.html', title : 'Collisions - Collision detection for circles, polygons, and points', }), ], output : { path : `${__dirname}/docs/demo/`, filename : 'index.js', }, };