improve snap-to-edge

This commit is contained in:
Degra02 2025-08-02 02:25:10 +02:00
commit f301c424ba
17 changed files with 11129 additions and 28 deletions

View file

@ -601,10 +601,13 @@ label.theme-color-label {
/* Snap indicator styles */
.snap-indicator {
transform: scale(11.6);
transform-box: fill-box;
transform-origin: center;
z-index: 1000;
pointer-events: none;
animation: snap-pulse 1s infinite;
}
<<<<<<< HEAD
@keyframes snap-pulse {
0% {
@ -672,4 +675,6 @@ label.theme-color-label {
100% {
opacity: 0.7;
}
}
}
=======
>>>>>>> 90d3c9b7f5f567b6bbe37f3432b49f65710bf26c

View file

@ -1759,6 +1759,7 @@ editor = {
}
});
<<<<<<< HEAD
// check current editing shape with infinite extension enabled
if (editor._current_editing_shape) {
var currentShapeSnap = editor._find_closest_point_on_geometry(
@ -1770,6 +1771,9 @@ editor = {
}
// find closest candidate
=======
// Find the closest candidate
>>>>>>> 90d3c9b7f5f567b6bbe37f3432b49f65710bf26c
if (candidates.length > 0) {
candidates.sort(function(a, b) { return a.distance - b.distance; });
var best = candidates[0];
@ -1897,10 +1901,16 @@ editor = {
// check each edge of the geometry
for (var i = 0; i < coordinates.length; i++) {
var p1 = coordinates[i];
var p2 = coordinates[(i + 1) % coordinates.length];
<<<<<<< HEAD
var snapPoint = editor._find_closest_point_on_edge(p1, p2, targetLatLng, targetMapPoint, allowInfiniteExtension);
=======
var snapPoint = editor._find_closest_point_on_edge(p1, p2, targetLatLng, targetMapPoint);
>>>>>>> 90d3c9b7f5f567b6bbe37f3432b49f65710bf26c
if (snapPoint && snapPoint.distance < closestDistance) {
closestDistance = snapPoint.distance;
closestPoint = snapPoint;
@ -2074,6 +2084,7 @@ editor = {
_show_snap_indicator: function(latlng, snapInfo) {
editor._clear_snap_indicators();
<<<<<<< HEAD
// snap point indicator
var indicator = L.circleMarker(latlng, {
@ -2081,7 +2092,21 @@ editor = {
color: '#ff6b6b',
fillColor: '#ff6b6b',
fillOpacity: 0.8,
=======
var size = 0.001; // adjust this to control square size
var bounds = [
[latlng.lat - size, latlng.lng - size],
[latlng.lat + size, latlng.lng + size]
];
var indicator = L.rectangle(bounds, {
color: '#666',
>>>>>>> 90d3c9b7f5f567b6bbe37f3432b49f65710bf26c
weight: 2,
lineCap: "square",
fillOpacity: 1.,
className: 'snap-indicator'
});

View file

@ -125,7 +125,7 @@ def fetch_updates(request, response: HttpResponse):
}
if cross_origin is None:
result.update({
'user_data': request.user_data,
'user_data': dict(request.user_data),
})
if cross_origin is not None:

View file

@ -32,7 +32,6 @@ class LocalCacheProxy:
# not in our cache
result = cache.get(key, default=NoneFromCache)
if result is not NoneFromCache:
print("result", result, result is NoneFromCache)
if self._items.get(None) is None:
self._items.set(OrderedDict())
self._items.get()[key] = result