gantt-lib 0.124.2 → 0.126.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/scheduling/index.d.mts +1 -1
- package/dist/core/scheduling/index.d.ts +1 -1
- package/dist/core/scheduling/index.js +30 -19
- package/dist/core/scheduling/index.js.map +1 -1
- package/dist/core/scheduling/index.mjs +30 -19
- package/dist/core/scheduling/index.mjs.map +1 -1
- package/dist/{index-DD3YvhvA.d.mts → index-B1yy4LX0.d.mts} +15 -10
- package/dist/{index-DD3YvhvA.d.ts → index-B1yy4LX0.d.ts} +15 -10
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +64 -32
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +64 -32
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +0 -27
- package/package.json +1 -1
|
@@ -368,9 +368,10 @@ declare function getTaskDuration(startDate: string | Date, endDate: string | Dat
|
|
|
368
368
|
|
|
369
369
|
/**
|
|
370
370
|
* Normalize predecessor dates for scheduling calculations.
|
|
371
|
-
*
|
|
372
|
-
*
|
|
373
|
-
*
|
|
371
|
+
* Milestones have a real zero-duration finish anchor at startDate. The
|
|
372
|
+
* successor type, rather than a fabricated predecessor date, determines
|
|
373
|
+
* whether FS lag=0 lands on the same day (milestone successor) or the next
|
|
374
|
+
* day (regular successor).
|
|
374
375
|
*/
|
|
375
376
|
declare function normalizePredecessorDates(predecessor: Pick<Task, 'startDate' | 'endDate' | 'type'>, parseDateFn: (d: string | Date) => Date): {
|
|
376
377
|
predStart: Date;
|
|
@@ -388,30 +389,34 @@ declare function getDependencyLag(dep: Pick<TaskDependency, 'lag'>): number;
|
|
|
388
389
|
*/
|
|
389
390
|
declare function normalizeTaskDependencyLags<TTask extends Pick<Task, 'dependencies'>>(task: TTask): TTask;
|
|
390
391
|
/**
|
|
391
|
-
* Normalize lag for FS links
|
|
392
|
+
* Normalize lag for FS links. Regular successors clamp to
|
|
393
|
+
* `-predecessorDuration`; milestone successors use one fewer day because
|
|
394
|
+
* their zero-duration FS anchor is the predecessor finish date itself.
|
|
392
395
|
*/
|
|
393
|
-
declare function normalizeDependencyLag(linkType: LinkType, lag: number, predecessorStart: Date, predecessorEnd: Date, businessDays?: boolean, weekendPredicate?: (date: Date) => boolean): number;
|
|
396
|
+
declare function normalizeDependencyLag(linkType: LinkType, lag: number, predecessorStart: Date, predecessorEnd: Date, businessDays?: boolean, weekendPredicate?: (date: Date) => boolean, successorType?: Task['type']): number;
|
|
394
397
|
/**
|
|
395
398
|
* Compute lag (in days) from actual predecessor/successor dates.
|
|
396
399
|
* This is the single source of truth for lag semantics.
|
|
397
400
|
*
|
|
398
401
|
* Semantics (lag=0 = natural, gap-free connection):
|
|
399
|
-
* - FS: lag = succStart - predEnd - 1 (adjacent days = 0)
|
|
402
|
+
* - FS: lag = succStart - predEnd - 1 (adjacent regular-task days = 0)
|
|
403
|
+
* milestone successor uses succStart - predEnd (same-day = 0)
|
|
400
404
|
* - SS: lag = succStart - predStart
|
|
401
405
|
* - FF: lag = succEnd - predEnd
|
|
402
406
|
* - SF: lag = succEnd - predStart + 1 (symmetric to FS)
|
|
403
407
|
*/
|
|
404
|
-
declare function computeLagFromDates(linkType: LinkType, predStart: Date, predEnd: Date, succStart: Date, succEnd: Date, businessDays?: boolean, weekendPredicate?: (date: Date) => boolean): number;
|
|
408
|
+
declare function computeLagFromDates(linkType: LinkType, predStart: Date, predEnd: Date, succStart: Date, succEnd: Date, businessDays?: boolean, weekendPredicate?: (date: Date) => boolean, successorType?: Task['type']): number;
|
|
405
409
|
/**
|
|
406
410
|
* Calculate successor date based on predecessor dates, link type, and lag.
|
|
407
411
|
*
|
|
408
412
|
* Link type semantics:
|
|
409
|
-
* - FS: Successor start = Predecessor end + lag + 1 day
|
|
413
|
+
* - FS: Successor start = Predecessor end + lag + 1 day for regular tasks
|
|
414
|
+
* and Predecessor end + lag for milestone successors
|
|
410
415
|
* - SS: Successor start = Predecessor start + lag
|
|
411
416
|
* - FF: Successor end = Predecessor end + lag
|
|
412
417
|
* - SF: Successor end = Predecessor start + lag - 1 day (lag=0 -> day before)
|
|
413
418
|
*/
|
|
414
|
-
declare function calculateSuccessorDate(predecessorStart: Date, predecessorEnd: Date, linkType: LinkType, lag?: number, businessDays?: boolean, weekendPredicate?: (date: Date) => boolean): Date;
|
|
419
|
+
declare function calculateSuccessorDate(predecessorStart: Date, predecessorEnd: Date, linkType: LinkType, lag?: number, businessDays?: boolean, weekendPredicate?: (date: Date) => boolean, successorType?: Task['type']): Date;
|
|
415
420
|
|
|
416
421
|
/**
|
|
417
422
|
* Critical path (CPM) calculation over dependency links.
|
|
@@ -526,7 +531,7 @@ declare function moveTaskRange(originalStart: string | Date, originalEnd: string
|
|
|
526
531
|
/**
|
|
527
532
|
* Clamp task range start date based on incoming FS dependencies.
|
|
528
533
|
*/
|
|
529
|
-
declare function clampTaskRangeForIncomingFS(task: Pick<Task, 'dependencies'>, proposedStart: Date, proposedEnd: Date, allTasks: Task[], businessDays?: boolean, weekendPredicate?: (date: Date) => boolean, taskById?: Map<string, Task>): {
|
|
534
|
+
declare function clampTaskRangeForIncomingFS(task: Pick<Task, 'dependencies' | 'type'>, proposedStart: Date, proposedEnd: Date, allTasks: Task[], businessDays?: boolean, weekendPredicate?: (date: Date) => boolean, taskById?: Map<string, Task>): {
|
|
530
535
|
start: Date;
|
|
531
536
|
end: Date;
|
|
532
537
|
};
|