Marker center = ORIGINAL clip center (not dynamic)
User: 'če razširim zoom in podaljšam komad potem polovica ni več tam
kjer je reel IN in tam kjer je OUT. Naj se program drži polovice
avtomatično narejenega reela'
Pred (bug):
center = (trimStart + trimEnd) / 2 # dynamic
Ko user razširi clip 60-90 → 50-110:
nov center = 80 (prej 75)
Klik pri 78s → IN (čeprav user mislil OUT!)
Po (fix):
initialCenter = (startInit + endInit) / 2 # FIKSEN, izračunan ob open
Original LLM center se NE spreminja
Klik pri 78s vedno → OUT (če je 78 > 75)
Klik pri 70s vedno → IN
Ne glede koliko user razširi/oža clip, marker assignment uporablja
fiksno 'sredino' originalnega LLM-jevega clipa.
Tudi drag handle: če marker zaide čez initialCenter → reset na trim border.
This commit is contained in:
parent
40151f8f57
commit
f5ef136bf4
@ -1331,6 +1331,10 @@
|
||||
// State
|
||||
let trimStart = startInit;
|
||||
let trimEnd = endInit;
|
||||
// Fiksna sredina za marker assignment — original LLM-jev clip center
|
||||
// (NE se ne spreminja ko user drag-a handle-je, da klik blizu OUT
|
||||
// vedno premakne OUT, ne glede koliko user razširi clip)
|
||||
const initialCenter = (startInit + endInit) / 2;
|
||||
let dragging = null; // 'left' / 'right' / null
|
||||
|
||||
// Marker state — kje je bil zadnji play (loči levi/desni)
|
||||
@ -1395,10 +1399,9 @@
|
||||
trimEnd = t;
|
||||
if (video) video.currentTime = t;
|
||||
}
|
||||
// Sync markerji da ne ostanejo na napačni strani (čez center)
|
||||
const center = (trimStart + trimEnd) / 2;
|
||||
if (markerInTime > center - 0.1) markerInTime = trimStart;
|
||||
if (markerOutTime < center + 0.1) markerOutTime = trimEnd;
|
||||
// Sync markerji: če čez initialCenter, reset (zelen sme samo levo, rdeč desno)
|
||||
if (markerInTime > initialCenter - 0.1) markerInTime = trimStart;
|
||||
if (markerOutTime < initialCenter + 0.1) markerOutTime = trimEnd;
|
||||
renderTrim();
|
||||
renderMarkers();
|
||||
}
|
||||
@ -1484,16 +1487,13 @@
|
||||
if (video) {
|
||||
if (video.paused) {
|
||||
// STROGO: zelen IN samo v LEVI polovici, rdeč OUT samo v DESNI polovici
|
||||
// Klik LEVO od center + Enter → IN (zelen)
|
||||
// Klik DESNO od center + Enter → OUT (rdeč)
|
||||
// Klik točno NA centru → OUT (default)
|
||||
// Center = ORIGINAL (LLM-jev clip center) — NE se NE spreminja!
|
||||
// Tako, če user razširi clip, klik blizu OUT še vedno → OUT marker
|
||||
const t = video.currentTime;
|
||||
const center = (trimStart + trimEnd) / 2;
|
||||
const center = initialCenter;
|
||||
if (t < center) {
|
||||
// Postavi IN, ampak strogo omeji: ne sme čez center
|
||||
markerInTime = Math.min(t, center - 0.1);
|
||||
} else {
|
||||
// Postavi OUT, ampak strogo omeji: ne sme čez center
|
||||
markerOutTime = Math.max(t, center + 0.1);
|
||||
}
|
||||
console.log("[Marker]", { t, center, trimStart, trimEnd, markerInTime, markerOutTime });
|
||||
|
||||
Loading…
Reference in New Issue
Block a user