') + ')', 'gi');
if (regex.test(text)) {
found = true;
var frag = document.createDocumentFragment();
var parts = text.split(regex);
parts.forEach(function(part, i) {
if (i % 2 === 0) {
frag.appendChild(document.createTextNode(part));
} else {
var span = document.createElement('span');
span.className = 'userscript-highlight';
span.textContent = part;
frag.appendChild(span);
}
});
node.parentNode.replaceChild(frag, node);
}
});
} else if (node.nodeType === 1 && node.childNodes) { // element
var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];
if (!skipTags.includes(node.tagName)) {
Array.from(node.childNodes).forEach(highlight);
}
}
}
highlight(document.body);
// Re-highlight on dynamic content
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(m) {
m.addedNodes.forEach(function(node) {
if (node.nodeType === 1 || node.nodeType === 3) highlight(node);
});
});
});
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); }
})();
(function(){
try {
var __m = "*";
var __re = new RegExp('^' + ".*" + ', 'i');
if (__m === '*' || __re.test(location.href)) {
// Strip utm_, fbclid, gclid, etc. from all links on page
(function() {
var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',
'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',
'ref', 'ref_src', 'source', 'medium', 'campaign'];
function cleanUrl(url) {
try {
var u = new URL(url, window.location.origin);
var changed = false;
trackingParams.forEach(function(p) {
if (u.searchParams.has(p)) {
u.searchParams.delete(p);
changed = true;
}
});
return changed ? u.toString() : url;
} catch (e) {
return url;
}
}
function cleanLinks() {
document.querySelectorAll('a[href]').forEach(function(a) {
var clean = cleanUrl(a.href);
if (clean !== a.href) a.href = clean;
});
}
cleanLinks();
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(m) {
m.addedNodes.forEach(function(node) {
if (node.nodeType === 1) {
if (node.tagName === 'A') cleanLinks();
node.querySelectorAll('a[href]').forEach(function(a) {
var clean = cleanUrl(a.href);
if (clean !== a.href) a.href = clean;
});
}
});
});
});
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); }
})();
(function(){
try {
var __m = "youtube.com";
var __re = new RegExp('^' + "youtube\\.com" + ', 'i');
if (__m === '*' || __re.test(location.href)) {
// Auto-enable theater mode on YouTube
(function() {
function tryTheater() {
var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]');
if (btn && !btn.classList.contains('activated')) {
btn.click();
}
}
// Try immediately
tryTheater();
// Try after navigation (SPA)
var lastUrl = location.href;
setInterval(function() {
if (location.href !== lastUrl) {
lastUrl = location.href;
setTimeout(tryTheater, 500);
}
}, 1000);
// Also try on player load
var observer = new MutationObserver(tryTheater);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); }
})();
(function(){
try {
var __m = "*";
var __re = new RegExp('^' + ".*" + ', 'i');
if (__m === '*' || __re.test(location.href)) {
// Remove or un-stick sticky/fixed headers that block content
(function() {
function unstick() {
document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) {
if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {
el.style.position = 'static';
el.style.top = 'auto';
el.style.zIndex = 'auto';
}
});
}
unstick();
var observer = new MutationObserver(unstick);
observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });
})();
}
} catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); }
})();
})();
Dev 0.1.12 by lachlangrose · Pull Request #64 · Loop3D/plugin_loopstructural · GitHub
Conversation
ci: fix formatting of release-please …ction-download-artifact-11
Bump dawidd6/action-download-artifact from 9 to 11
…ayers and update the adjacency graph * Initial plan
* Prevent model init with unset bounding box and persist flag
Co-authored-by: lachlangrose <7371904+lachlangrose@users.noreply.github.com>
* fix: block spin boxes to prevent defaults triggering update
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: lachlangrose <7371904+lachlangrose@users.noreply.github.com>
Co-authored-by: Lachlan Grose <lachlan.grose@monash.edu> …d LoopStructural setup widgets (#73 )
* Initial plan
* Persist widget selections
Co-authored-by: lachlangrose <7371904+lachlangrose@users.noreply.github.com>
* Address review feedback
Co-authored-by: lachlangrose <7371904+lachlangrose@users.noreply.github.com>
* Refine persistence and params
Co-authored-by: lachlangrose <7371904+lachlangrose@users.noreply.github.com>
* Tighten matching and params
Co-authored-by: lachlangrose <7371904+lachlangrose@users.noreply.github.com>
* Fix thickness params
Co-authored-by: lachlangrose <7371904+lachlangrose@users.noreply.github.com>
* don't guess sampler layer
* Persist selections in model setup
Co-authored-by: lachlangrose <7371904+lachlangrose@users.noreply.github.com>
* updating imports and adding faults loop up table
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: lachlangrose <7371904+lachlangrose@users.noreply.github.com>
Co-authored-by: Lachlan Grose <lachlan.grose@monash.edu> … be projected
* Initial plan
* Add model CRS storage, validation, and UI controls
Co-authored-by: lachlangrose <7371904+lachlangrose@users.noreply.github.com>
* Fix linter issues and add CRS validation tests
Co-authored-by: lachlangrose <7371904+lachlangrose@users.noreply.github.com>
* Improve error handling and type safety in CRS transformation
Co-authored-by: lachlangrose <7371904+lachlangrose@users.noreply.github.com>
* Add robust error handling and improve code safety
Co-authored-by: lachlangrose <7371904+lachlangrose@users.noreply.github.com>
* Final code quality improvements and null-safe handling
Co-authored-by: lachlangrose <7371904+lachlangrose@users.noreply.github.com>
* Propagate project crs change to widget
* use logging rather than warning
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: lachlangrose <7371904+lachlangrose@users.noreply.github.com>
Co-authored-by: Lachlan Grose <lachlan.grose@monash.edu> …ging as well as console logging * test: add unit tests for ConfigurationModel
* feat: add DataConversionWidget
* feat: add data conversion GUI components
* feat: implement data conversion configuration helpers
* feat: DataConversionWidget implemenation
* fix: improve ui handling
* fix: update config file
* refactor: renamed layers
* refactor: update geodataframe conversion
* feat: add run functionality to manual conversion
* fix: remove manual conversion code
* fix: add loopdataconverter to requirements
* fix: added data converter as dialog
* feat: added along section thickness calc
* refactor: added along section code
* feat: add layer guessing and filters to conversion widget
* fix: applying some copilot changes
---------
Co-authored-by: Lachlan Grose <lachlan.grose@monash.edu>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
You can’t perform that action at this time.
No description provided.