wrongmove/immoweb/node_modules/rbush/rbush.sublime-workspace
2025-05-26 19:41:36 +00:00

592 lines
15 KiB
Text

{
"auto_complete":
{
"selected_items":
[
[
"child",
"childBBox"
],
[
"splt",
"splitIndex"
]
]
},
"buffers":
[
{
"file": "rbush.js",
"settings":
{
"buffer_size": 18214,
"line_ending": "Unix"
}
},
{
"contents": "'use strict';\n\nfunction rbush(maxEntries) {\n if (!(this instanceof rbush)) return new rbush(maxEntries);\n\n // max entries in a node is 9 by default; min node fill is 40% for best performance\n this._maxEntries = Math.max(4, maxEntries || 9);\n this._minEntries = Math.max(2, Math.ceil(this._maxEntries * 0.4));\n\n this.clear();\n}\n\nrbush.prototype = {\n clear: function () {\n this.data = createNode([]);\n return this;\n },\n\n load: function (items) {\n this._build(items, 0, data.length - 1, 0);\n },\n\n _build: function (items, left, right, height) {\n\n this.items = items;\n\n var indices = [];\n for (var i = 0; i < items.length; i++) indices.push(i);\n\n var N = right - left + 1,\n M = this._maxEntries,\n node;\n\n if (N <= M) {\n // reached leaf level; return leaf\n node = createNode(indices.slice(left, right + 1));\n calcBBox(node, this.toBBox);\n return node;\n }\n\n if (!height) {\n // target height of the bulk-loaded tree\n height = Math.ceil(Math.log(N) / Math.log(M));\n\n // target number of root entries to maximize storage utilization\n M = Math.ceil(N / Math.pow(M, height - 1));\n }\n\n node = createNode([]);\n node.height = height;\n node.leaf = false;\n\n // split the items into M mostly square tiles\n\n var N2 = Math.ceil(N / M),\n N1 = N2 * Math.ceil(Math.sqrt(M)),\n i, j, right2, right3;\n\n this._multiSelect(indices, left, right, N1, this.compareMinX);\n\n for (i = left; i <= right; i += N1) {\n\n right2 = Math.min(i + N1 - 1, right);\n\n this._multiSelect(items, i, right2, N2, this.compareMinY);\n\n for (j = i; j <= right2; j += N2) {\n\n right3 = Math.min(j + N2 - 1, right2);\n\n // pack each entry recursively\n node.children.push(this._build(items, j, right3, height - 1));\n }\n }\n\n calcBBox(node, this.toBBox);\n\n return node;\n }\n};\n\nfunction calcBBox(node, toBBox) {\n setEmptyBBox(node);\n\n for (var i = 0; i < node.children.length; i++) {\n var child = node.children[i];\n extend(node, node.leaf ? toBBox(child) : child);\n }\n\n return bbox;\n\n}\n\nfunction createNode(children) {\n return {\n children: children,\n height: 1,\n leaf: true,\n minX: Infinity,\n minY: Infinity,\n maxX: -Infinity,\n maxY: -Infinity\n };\n}\n\nfunction extend(a, b) {\n a.minX = Math.min(a.minX, b.minX);\n a.minY = Math.min(a.minY, b.minY);\n a.maxX = Math.max(a.maxX, b.maxX);\n a.maxY = Math.max(a.maxY, b.maxY);\n return a;\n}\n\nfunction setEmptyBBox(bbox) {\n bbox.minX = Infinity;\n bbox.minY = Infinity;\n bbox.maxX = -Infinity;\n bbox.maxY = -Infinity;\n return bbox;\n}\n\nfunction contains(a, b) {\n return a.minX <= b.minX &&\n a.minY <= b.minY &&\n b.maxX <= a.maxX &&\n b.maxY <= a.maxY;\n}\n\nfunction intersects(a, b) {\n return b.minX <= a.maxX &&\n b.minY <= a.maxY &&\n b.maxX >= a.minX &&\n b.maxY >= a.minY;\n}\n\n// sort an array so that items come in groups of n unsorted items, with groups sorted between each other;\n// combines selection algorithm with binary divide & conquer approach\n\nfunction multiSelect(arr, left, right, n, compare) {\n var stack = [left, right],\n mid;\n\n while (stack.length) {\n right = stack.pop();\n left = stack.pop();\n\n if (right - left <= n) continue;\n\n mid = left + Math.ceil((right - left) / n / 2) * n;\n select(arr, left, right, mid, compare);\n\n stack.push(left, mid, mid, right);\n }\n}\n\n// Floyd-Rivest selection algorithm:\n// sort an array between left and right (inclusive) so that the smallest k elements come first (unordered)\nfunction select(arr, left, right, k, compare) {\n var n, i, z, s, sd, newLeft, newRight, t, j;\n\n while (right > left) {\n if (right - left > 600) {\n n = right - left + 1;\n i = k - left + 1;\n z = Math.log(n);\n s = 0.5 * Math.exp(2 * z / 3);\n sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (i - n / 2 < 0 ? -1 : 1);\n newLeft = Math.max(left, Math.floor(k - i * s / n + sd));\n newRight = Math.min(right, Math.floor(k + (n - i) * s / n + sd));\n select(arr, newLeft, newRight, k, compare);\n }\n\n t = arr[k];\n i = left;\n j = right;\n\n swap(arr, left, k);\n if (compare(arr[right], t) > 0) swap(arr, left, right);\n\n while (i < j) {\n swap(arr, i, j);\n i++;\n j--;\n while (compare(arr[i], t) < 0) i++;\n while (compare(arr[j], t) > 0) j--;\n }\n\n if (compare(arr[left], t) === 0) swap(arr, left, j);\n else {\n j++;\n swap(arr, j, right);\n }\n\n if (j <= k) left = j + 1;\n if (k <= j) right = j - 1;\n }\n}\n\nfunction swap(arr, i, j) {\n var tmp = arr[i];\n arr[i] = arr[j];\n arr[j] = tmp;\n}\n\n",
"file": "rbush-flat.js",
"file_size": 5067,
"file_write_time": 131018363430000000,
"settings":
{
"buffer_size": 5179,
"line_ending": "Unix"
}
},
{
"file": "bench/bulk.bench.js",
"settings":
{
"buffer_size": 477,
"line_ending": "Unix"
}
},
{
"file": "rbuf.proto",
"settings":
{
"buffer_size": 238,
"line_ending": "Unix"
}
},
{
"file": "viz/viz-cluster.html",
"settings":
{
"buffer_size": 1789,
"line_ending": "Unix"
}
},
{
"file": "README.md",
"settings":
{
"buffer_size": 8587,
"line_ending": "Unix"
}
},
{
"file": "bench/perf.js",
"settings":
{
"buffer_size": 3452,
"line_ending": "Unix"
}
},
{
"file": ".travis.yml",
"settings":
{
"buffer_size": 38,
"line_ending": "Unix"
}
},
{
"file": "test/test.js",
"settings":
{
"buffer_size": 10717,
"line_ending": "Unix"
}
}
],
"build_system": "",
"build_system_choices":
[
],
"build_varint": "",
"command_palette":
{
"height": 247.0,
"last_filter": "list pac",
"selected_items":
[
[
"list pac",
"Package Control: List Packages"
],
[
"install ",
"Package Control: Install Package"
],
[
"packa",
"Package Control: Install Package"
]
],
"width": 431.0
},
"console":
{
"height": 126.0,
"history":
[
"import urllib.request,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)"
]
},
"distraction_free":
{
"menu_visible": true,
"show_minimap": false,
"show_open_files": false,
"show_tabs": false,
"side_bar_visible": false,
"status_bar_visible": false
},
"expanded_folders":
[
"/Users/mourner/projects/rbush",
"/Users/mourner/projects/rbush/bench",
"/Users/mourner/projects/rbush/viz"
],
"file_history":
[
"/Users/mourner/.bash_profile",
"/usr/local/Library/Formula/node.rb",
"/Users/mourner/Library/Application Support/Sublime Text 3/Packages/User/Preferences.sublime-settings",
"/Users/mourner/.gitignore"
],
"find":
{
"height": 48.0
},
"find_in_files":
{
"height": 0.0,
"where_history":
[
]
},
"find_state":
{
"case_sensitive": false,
"find_history":
[
"_insert",
"clear",
"createNode",
"x: ",
"y:",
".y",
".x",
".y2",
".x2",
".x",
"bbox",
"search",
"compareNodeMinY",
"tobbox",
"intersects",
"bbox",
".x",
"x1",
"indexOf",
"splice",
"zoomanim",
"_animateZoom",
"zoom",
"3_1",
"_1",
"0.12",
"foo",
"asdasdasd",
"fadeAnimation"
],
"highlight": true,
"in_selection": false,
"preserve_case": false,
"regex": false,
"replace_history":
[
],
"reverse": false,
"show_context": true,
"use_buffer2": true,
"whole_word": false,
"wrap": true
},
"groups":
[
{
"selected": 5,
"sheets":
[
{
"buffer": 0,
"file": "rbush.js",
"semi_transient": false,
"settings":
{
"buffer_size": 18214,
"regions":
{
},
"selection":
[
[
0,
0
]
],
"settings":
{
"syntax": "Packages/JavaScript/JavaScript.tmLanguage",
"tab_size": 4,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 9605.0,
"zoom_level": 1.0
},
"stack_index": 3,
"type": "text"
},
{
"buffer": 1,
"file": "rbush-flat.js",
"semi_transient": false,
"settings":
{
"buffer_size": 5179,
"regions":
{
},
"selection":
[
[
2289,
2322
]
],
"settings":
{
"open_with_edit": true,
"syntax": "Packages/JavaScript/JavaScript.sublime-syntax",
"tab_size": 4,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 5,
"type": "text"
},
{
"buffer": 2,
"file": "bench/bulk.bench.js",
"semi_transient": false,
"settings":
{
"buffer_size": 477,
"regions":
{
},
"selection":
[
[
0,
0
]
],
"settings":
{
"syntax": "Packages/JavaScript/JavaScript.sublime-syntax"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 4,
"type": "text"
},
{
"buffer": 3,
"file": "rbuf.proto",
"semi_transient": false,
"settings":
{
"buffer_size": 238,
"regions":
{
},
"selection":
[
[
238,
238
]
],
"settings":
{
"auto_name": "",
"syntax": "Packages/Protocol Buffer Syntax/Protobuf.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 6,
"type": "text"
},
{
"buffer": 4,
"file": "viz/viz-cluster.html",
"semi_transient": false,
"settings":
{
"buffer_size": 1789,
"regions":
{
},
"selection":
[
[
348,
348
]
],
"settings":
{
"syntax": "Packages/HTML/HTML.sublime-syntax",
"tab_size": 4,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 7,
"type": "text"
},
{
"buffer": 5,
"file": "README.md",
"semi_transient": false,
"settings":
{
"buffer_size": 8587,
"regions":
{
},
"selection":
[
[
0,
0
]
],
"settings":
{
"syntax": "Packages/Markdown/Markdown.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 0,
"type": "text"
},
{
"buffer": 6,
"file": "bench/perf.js",
"semi_transient": false,
"settings":
{
"buffer_size": 3452,
"regions":
{
},
"selection":
[
[
113,
120
]
],
"settings":
{
"syntax": "Packages/JavaScript/JavaScript.sublime-syntax",
"tab_size": 4,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 547.0,
"zoom_level": 1.0
},
"stack_index": 2,
"type": "text"
},
{
"buffer": 7,
"file": ".travis.yml",
"semi_transient": true,
"settings":
{
"buffer_size": 38,
"regions":
{
},
"selection":
[
[
0,
38
]
],
"settings":
{
"syntax": "Packages/YAML/YAML.sublime-syntax"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 1,
"type": "text"
},
{
"buffer": 8,
"file": "test/test.js",
"semi_transient": false,
"settings":
{
"buffer_size": 10717,
"regions":
{
},
"selection":
[
[
0,
0
]
],
"settings":
{
"syntax": "Packages/JavaScript/JavaScript.sublime-syntax",
"tab_size": 4,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 841.0,
"zoom_level": 1.0
},
"stack_index": 8,
"type": "text"
}
]
}
],
"incremental_find":
{
"height": 23.0
},
"input":
{
"height": 34.0
},
"layout":
{
"cells":
[
[
0,
0,
1,
1
]
],
"cols":
[
0.0,
1.0
],
"rows":
[
0.0,
1.0
]
},
"menu_visible": true,
"output.find_results":
{
"height": 0.0
},
"pinned_build_system": "",
"project": "rbush.sublime-project",
"replace":
{
"height": 42.0
},
"save_all_on_build": true,
"select_file":
{
"height": 0.0,
"last_filter": "",
"selected_items":
[
[
"grid",
"src/layer/tile/GridLayer.js"
],
[
"marker",
"src/layer/marker/Marker.js"
],
[
"render",
"src/layer/vector/Renderer.js"
],
[
"map",
"src/map/Map.js"
]
],
"width": 0.0
},
"select_project":
{
"height": 500.0,
"last_filter": "",
"selected_items":
[
[
"",
"~/projects/mapbox-gl-js/mapbox-gl-js.sublime-project"
],
[
"geoj",
"~/projects/geojson-vt/geojson-vt.sublime-project"
],
[
"ear",
"~/projects/earcut/earcut.sublime-project"
]
],
"width": 380.0
},
"select_symbol":
{
"height": 0.0,
"last_filter": "",
"selected_items":
[
],
"width": 0.0
},
"selected_group": 0,
"settings":
{
},
"show_minimap": true,
"show_open_files": false,
"show_tabs": true,
"side_bar_visible": true,
"side_bar_width": 249.0,
"status_bar_visible": true,
"template_settings":
{
}
}