@mark1russell7/packing 0.2.6 → 0.2.7
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/README.md +12 -0
- package/build/index.d.ts +172 -25
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2301 -24
- package/build/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +22 -1
- package/src/portfolio-cell.ts +165 -0
- package/src/portfolio-sets.ts +2363 -0
- package/src/portfolio-strategy.ts +62 -0
- package/src/portfolio.ts +13 -6
- package/src/registry.ts +10 -3
package/README.md
CHANGED
|
@@ -70,6 +70,18 @@ const { output, winner } = packPortfolio(["skyline", "shelf"]).pick(input);
|
|
|
70
70
|
- The trace of the output gets the stage `portfolio` with the measure `move.pick`.
|
|
71
71
|
- `outputHash` gives the hash of the placements of an output, as the bench records have it.
|
|
72
72
|
|
|
73
|
+
Since 0.2.7, the strategy `portfolio` packs an input with the set of its cell. It is opt-in, and no default uses it.
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
const output = packWith("portfolio", input); // the default member count of the cell
|
|
77
|
+
const cell = portfolioCell(input); // { shape: "rect", count: "100", spread: "uniform" }
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
- `portfolioCell` gives the container shape, the band of the item count and the band of the size spread.
|
|
81
|
+
- `PORTFOLIO_SETS` gives the sets of 1, 2 and 3 members of each cell. The bench records of one run gave them.
|
|
82
|
+
- Without options, the default member count of the cell runs. The output is a function of the input only.
|
|
83
|
+
- The option `k` (2 or 3) runs each member of the set of `k`. The option `budgetMs` is an opt-in time limit.
|
|
84
|
+
|
|
73
85
|
Both functions also work alone, in an outer rectangle with a width that you set. They do not change the width.
|
|
74
86
|
|
|
75
87
|
A `locked` rectangle keeps its position. `packSkyline` and `packShelf` put the other rectangles around it. `packRows` only keeps its position.
|
package/build/index.d.ts
CHANGED
|
@@ -750,9 +750,14 @@ export declare function fromRects<T>(rects: readonly Rect<T>[], outer: Rect<T>):
|
|
|
750
750
|
* each rectangle, and the free sides of the outer rectangle. It gives the outer rectangle.
|
|
751
751
|
*/
|
|
752
752
|
export declare function toRects<T>(output: PackOutput, rects: Rect<T>[], outer: Rect<T>): Rect<T>;
|
|
753
|
-
/** Each strategy of the package. The benchmark starts each one on each input of the corpus. */
|
|
753
|
+
/** Each single strategy of the package. The benchmark starts each one on each input of the corpus. */
|
|
754
754
|
export declare const strategies: readonly Strategy[];
|
|
755
|
-
/**
|
|
755
|
+
/**
|
|
756
|
+
* The composite strategies of the registry: each one packs an input with other strategies. They are not in `strategies`.
|
|
757
|
+
* Since 0.2.7, the list has `portfolio` of roadmap item k20.
|
|
758
|
+
*/
|
|
759
|
+
export declare const composites: readonly Strategy[];
|
|
760
|
+
/** This function gives the strategy with an id, also a composite strategy. It throws a `RangeError` for an id that the registry does not have. */
|
|
756
761
|
export declare function strategy(id: string): Strategy;
|
|
757
762
|
/**
|
|
758
763
|
* This function packs an input with the strategy of an id. The options go over the defaults of the strategy. The
|
|
@@ -797,33 +802,14 @@ export declare function hardBreaks(input: PackInput, output: PackOutput): number
|
|
|
797
802
|
* Its `pick(input)` packs the input with each member and gives the output of the winner, its id and the trace.
|
|
798
803
|
*
|
|
799
804
|
* - A member is a strategy id, or a `PortfolioEntry` with options. The members run in the given order.
|
|
805
|
+
* - `members` is a list, or a function of the input that gives the list. The strategy `portfolio` uses the function form.
|
|
800
806
|
* - The key is the hard breaks, then `pack.overflow.excessArea`, then `pack.fill`. `PORTFOLIO_LEVELS` gives the specs.
|
|
801
807
|
* - The hash of the key is `outputHash`. `selectBest` of the contract picks the winner.
|
|
802
808
|
* - The output of the winner gets the trace stage `portfolio` with `move.pick` of `pickMoves`.
|
|
803
809
|
* - The function throws a `RangeError` for an unknown strategy, an empty list and two members with the same id.
|
|
810
|
+
* With the function form, `pick` throws this error for the list of an input.
|
|
804
811
|
*/
|
|
805
|
-
export declare function packPortfolio(members: readonly (string | PortfolioEntry)[], options?: PackPortfolioOptions): Portfolio$1<PackInput, PackOutput>;
|
|
806
|
-
/**
|
|
807
|
-
* This function counts the breaks of the 4 hard rules of the packer for an output.
|
|
808
|
-
*
|
|
809
|
-
* - `no-overlap`: each pair of items with their margins, and each pair of an item and an obstacle, that overlap by more than `tolerance.overlap`.
|
|
810
|
-
* - `in-container`: each item with its margin that goes out of a fixed side by more than `tolerance.overlap`. The inset of
|
|
811
|
-
* the container makes each fixed side smaller (decision 3 of `docs/PACKER.md`).
|
|
812
|
-
* - `locked-kept`: each locked item that moved by more than `RECORD_EPS`, or that has no placement.
|
|
813
|
-
* - `complete`: each item with no placement that is not in the overflow. A locked item breaks `locked-kept` in its place.
|
|
814
|
-
*
|
|
815
|
-
* A locked item with no placement stays at its input position for `no-overlap` and `in-container`. A locked item with no
|
|
816
|
-
* `x` or no `y` in the input is a bad input. The rules skip it, as `packHard` of the contract does. `checkInput` finds it.
|
|
817
|
-
*
|
|
818
|
-
* The test of an obstacle is exact: a circle, an ellipse and a polygon with holes count only their insides, as in `packHard`.
|
|
819
|
-
* The rules read a shape of the container or of an item as its bounding box (decision 5). The bounding box of an item
|
|
820
|
-
* shape is relative to the position of the item. The result has no tolerance in it.
|
|
821
|
-
*
|
|
822
|
-
* With `options.exactContainer`, a shaped container with the size `fixed` also uses its true outline for `in-container`.
|
|
823
|
-
* A box then counts when `rectInRegion` of the contract tells that it is not in the shape, as in `packHard`.
|
|
824
|
-
* For that test, the box grows by the inset and becomes smaller by `tolerance.overlap` on each side. The default is `false`.
|
|
825
|
-
*/
|
|
826
|
-
export declare function checkHard(input: PackInput, output: PackOutput, tolerance?: Pick<Tolerance, "overlap">, options?: ContainerTest$1): PackHard$1;
|
|
812
|
+
export declare function packPortfolio(members: readonly (string | PortfolioEntry)[] | ((input: PackInput) => readonly (string | PortfolioEntry)[]), options?: PackPortfolioOptions): Portfolio$1<PackInput, PackOutput>;
|
|
827
813
|
/** The parameters of a generator: a name and a string or a number for each parameter. */
|
|
828
814
|
type GeneratorParams = Record<string, string | number>;
|
|
829
815
|
/**
|
|
@@ -890,6 +876,167 @@ export declare function countCell(count: number): CountScale;
|
|
|
890
876
|
* A file without a container gets `{ fixed: "none" }`, so the packer picks the size. It is `toPackInput` of the contract.
|
|
891
877
|
*/
|
|
892
878
|
export declare function toPackInput(file: Pick<LayoutInput$1, "container" | "boxes" | "obstacles" | "gap">): PackInput;
|
|
879
|
+
/** The band of the size spread of the items of an input. */
|
|
880
|
+
type SpreadBand = "identical" | "uniform" | "heavyTail";
|
|
881
|
+
/** The cell of an input for the per-cell portfolio: the container shape, the band of the item count and the band of the size spread. */
|
|
882
|
+
interface PortfolioCell {
|
|
883
|
+
shape: DimensionValue<"containerShape">;
|
|
884
|
+
/** The band of the item count, as `countCell` gives it: `1`, `10`, `100`, `1k` or `10k`. */
|
|
885
|
+
count: CountScale;
|
|
886
|
+
spread: SpreadBand;
|
|
887
|
+
}
|
|
888
|
+
/**
|
|
889
|
+
* The thresholds of the spread bands. The statistic is the standard deviation of the natural log of the linear size
|
|
890
|
+
* `sqrt(w * h)` of each item.
|
|
891
|
+
*
|
|
892
|
+
* - Below `identical`, the band is `identical`.
|
|
893
|
+
* - Below `uniform`, the band is `uniform`.
|
|
894
|
+
* - At `uniform` or above, the band is `heavyTail`.
|
|
895
|
+
*
|
|
896
|
+
* On the seeds 1 to 7 of the generators of `pack-screen-v1`, the uniform sizes give 0.258 at most. The heavy-tail sizes give 0.278 at least.
|
|
897
|
+
*/
|
|
898
|
+
export declare const SPREAD_THRESHOLDS: Readonly<{
|
|
899
|
+
identical: number;
|
|
900
|
+
uniform: number;
|
|
901
|
+
}>;
|
|
902
|
+
/** A cell with fewer inputs than this count in the training records is thin. It uses the set of its container shape. */
|
|
903
|
+
export declare const THIN_INPUTS = 12;
|
|
904
|
+
/**
|
|
905
|
+
* The frame budget of the default member count, in milliseconds. The default count of a cell is the largest prefix of its
|
|
906
|
+
* set of 3 that fits this budget. The prefix fits when its median summed member time on the CI records is this value or less.
|
|
907
|
+
* The count is 1 or more at all times.
|
|
908
|
+
* The default output thus does not depend on the clock: a time limit is only the opt-in option `budgetMs`.
|
|
909
|
+
*/
|
|
910
|
+
export declare const PORTFOLIO_FRAME_MS = 50;
|
|
911
|
+
/** This function gives the key of a cell: `<shape>/<count>/<spread>`, for example `rect/100/uniform`. */
|
|
912
|
+
export declare function cellKey(cell: PortfolioCell): string;
|
|
913
|
+
/**
|
|
914
|
+
* This function gives the spread statistic of an input: the standard deviation of the natural log of `sqrt(w * h)` of each item.
|
|
915
|
+
* An item with no area does not count. Fewer than 2 items with an area give 0.
|
|
916
|
+
*/
|
|
917
|
+
export declare function spreadOf(input: PackInput): number;
|
|
918
|
+
/** This function gives the band of a spread statistic by `SPREAD_THRESHOLDS`. */
|
|
919
|
+
export declare function spreadBand(spread: number): SpreadBand;
|
|
920
|
+
/**
|
|
921
|
+
* This function gives the cell of an input for the per-cell portfolio. The function reads only the input, not a corpus id.
|
|
922
|
+
*
|
|
923
|
+
* - `shape` is the `containerShape` of `cellOf`.
|
|
924
|
+
* - `count` is `countCell` of the count of the items.
|
|
925
|
+
* - `spread` is `spreadBand` of `spreadOf`.
|
|
926
|
+
*/
|
|
927
|
+
export declare function portfolioCell(input: PackInput): PortfolioCell;
|
|
928
|
+
/** The sizes of the sets of the table. */
|
|
929
|
+
type PortfolioSize = 1 | 2 | 3;
|
|
930
|
+
/** The score of a set on its training records. The regrets are means against the oracle of the pool. */
|
|
931
|
+
interface PortfolioTrainScore {
|
|
932
|
+
inputs: number;
|
|
933
|
+
/** The mean of the hard breaks of the winner of the set less those of the oracle */
|
|
934
|
+
hardRegret: number;
|
|
935
|
+
/** The mean of `pack.overflow.excessArea` of the winner of the set less that of the oracle */
|
|
936
|
+
excessAreaRegret: number;
|
|
937
|
+
/** The mean of `pack.fill` of the oracle less that of the winner of the set */
|
|
938
|
+
fillRegret: number;
|
|
939
|
+
/** The inputs where the winner of the set is in the last kept list of the oracle */
|
|
940
|
+
wins: number;
|
|
941
|
+
winShare: number;
|
|
942
|
+
/** The mean of the summed times of the members on an input, in milliseconds */
|
|
943
|
+
msMean: number;
|
|
944
|
+
}
|
|
945
|
+
/** The sets of one cell of the table, by size, with their training scores. */
|
|
946
|
+
interface PortfolioCellSets {
|
|
947
|
+
/** The inputs of the cell in the training records */
|
|
948
|
+
inputs: number;
|
|
949
|
+
/** The value `true` when `inputs` is less than `THIN_INPUTS`. A thin cell has no sets. It uses the sets of its shape. */
|
|
950
|
+
thin: boolean;
|
|
951
|
+
/** The ids of the members of each set, in the order of the pick. A thin cell has none. */
|
|
952
|
+
sets?: Readonly<Record<`${PortfolioSize}`, readonly string[]>>;
|
|
953
|
+
/** The training score of each set */
|
|
954
|
+
train?: Readonly<Record<`${PortfolioSize}`, PortfolioTrainScore>>;
|
|
955
|
+
/** The median over the inputs of the summed member times of each prefix of the set of 3, in milliseconds. A missing record counts 0. */
|
|
956
|
+
prefixMedianMs?: Readonly<Record<`${PortfolioSize}`, number>>;
|
|
957
|
+
/** The default member count: the largest prefix of the set of 3 with `prefixMedianMs` of `PORTFOLIO_FRAME_MS` or less, and 1 at least */
|
|
958
|
+
defaultMembers?: PortfolioSize;
|
|
959
|
+
}
|
|
960
|
+
/** The table of the per-cell portfolio. `bench/choose-sets.ts` generates it from the records of one run. */
|
|
961
|
+
interface PortfolioSets {
|
|
962
|
+
/** The run of the records: the corpus, the commit of the code and the id of the run of `bench.yml`. It also has the frame budget of the default counts. */
|
|
963
|
+
source: Readonly<{
|
|
964
|
+
corpus: string;
|
|
965
|
+
run: string;
|
|
966
|
+
commit: string;
|
|
967
|
+
inputs: number;
|
|
968
|
+
frameMs: number;
|
|
969
|
+
}>;
|
|
970
|
+
/** The member of each id: a strategy of the registry with some options */
|
|
971
|
+
entries: Readonly<Record<string, PortfolioEntry>>;
|
|
972
|
+
/** The sets of all the inputs. They are the fixed default of an input of an unknown shape. */
|
|
973
|
+
all: PortfolioCellSets;
|
|
974
|
+
/** The sets of each container shape. They are the fallback of a thin cell and of an unknown cell. */
|
|
975
|
+
shapes: Readonly<Record<string, PortfolioCellSets>>;
|
|
976
|
+
/** The sets of each cell, by `cellKey` */
|
|
977
|
+
cells: Readonly<Record<string, PortfolioCellSets>>;
|
|
978
|
+
}
|
|
979
|
+
/** The source of the members of an input in the table. */
|
|
980
|
+
type PortfolioSetSource = "cell" | "shape" | "default";
|
|
981
|
+
/** This function gives the sets of an input from a table: the sets of its cell, or of its shape, or of all the inputs. */
|
|
982
|
+
export declare function portfolioSetOf(input: PackInput, table?: PortfolioSets): {
|
|
983
|
+
key: string;
|
|
984
|
+
source: PortfolioSetSource;
|
|
985
|
+
sets: PortfolioCellSets;
|
|
986
|
+
};
|
|
987
|
+
/**
|
|
988
|
+
* This function gives the `k` members of an input for `packPortfolio`. The members are the set of the cell of the input.
|
|
989
|
+
* A thin cell or an unknown cell takes the set of its shape, or the set of all the inputs. The function throws a `RangeError` for a `k` other than 1, 2 or 3.
|
|
990
|
+
*/
|
|
991
|
+
export declare function portfolioMembers(input: PackInput, k: number, table?: PortfolioSets): PortfolioEntry[];
|
|
992
|
+
/**
|
|
993
|
+
* This function gives the default member count of an input: `defaultMembers` of the sets of its cell, its shape or all the inputs.
|
|
994
|
+
* With a `k`, the count is not more than `k`. A table without the count gives `k`, or 3 without a `k`.
|
|
995
|
+
*/
|
|
996
|
+
export declare function portfolioDefaultMembers(input: PackInput, k?: number, table?: PortfolioSets): number;
|
|
997
|
+
/** The table of the per-cell portfolio: the sets of 1, 2 and 3 members of each cell, with their training scores. The run 40652567756 gives it. */
|
|
998
|
+
export declare const PORTFOLIO_SETS: PortfolioSets;
|
|
999
|
+
/** The options of the strategy `portfolio`. Without options, the output is a function of the input only. */
|
|
1000
|
+
interface PortfolioStrategyOptions {
|
|
1001
|
+
/** The size of the set of the cell: 2 or 3. With `k`, each of the `k` members runs. Without `k`, the strategy uses the set of 3. */
|
|
1002
|
+
k?: 2 | 3;
|
|
1003
|
+
/** The largest count of the members that run. Without `k` and `maxMembers`, the count is `defaultMembers` of the cell. */
|
|
1004
|
+
maxMembers?: number;
|
|
1005
|
+
/** The opt-in time limit of `portfolio` of the contract, in milliseconds. It has no default. A cut member makes the result not deterministic. */
|
|
1006
|
+
budgetMs?: number;
|
|
1007
|
+
}
|
|
1008
|
+
/**
|
|
1009
|
+
* The strategy `portfolio`: `packPortfolio` with the function form `(input) => portfolioMembers(input, k)`. The seed of the context
|
|
1010
|
+
* goes to each member. Its supports are the union of the supports of the members.
|
|
1011
|
+
*
|
|
1012
|
+
* - Without `k` and `maxMembers`, the members are the set of 3 of the cell, and `maxMembers` is `defaultMembers` of the cell.
|
|
1013
|
+
* The default output thus does not depend on the clock.
|
|
1014
|
+
* - A member that does not support the cell of an input throws, and it does not win. When each member throws, the strategy throws the first error.
|
|
1015
|
+
* - The option `budgetMs` goes to `portfolio` of the contract. The first member always runs.
|
|
1016
|
+
* - The strategy throws a `RangeError` for a `k` other than 2 or 3.
|
|
1017
|
+
*/
|
|
1018
|
+
export declare const portfolioStrategy: Strategy<PortfolioStrategyOptions>;
|
|
1019
|
+
/**
|
|
1020
|
+
* This function counts the breaks of the 4 hard rules of the packer for an output.
|
|
1021
|
+
*
|
|
1022
|
+
* - `no-overlap`: each pair of items with their margins, and each pair of an item and an obstacle, that overlap by more than `tolerance.overlap`.
|
|
1023
|
+
* - `in-container`: each item with its margin that goes out of a fixed side by more than `tolerance.overlap`. The inset of
|
|
1024
|
+
* the container makes each fixed side smaller (decision 3 of `docs/PACKER.md`).
|
|
1025
|
+
* - `locked-kept`: each locked item that moved by more than `RECORD_EPS`, or that has no placement.
|
|
1026
|
+
* - `complete`: each item with no placement that is not in the overflow. A locked item breaks `locked-kept` in its place.
|
|
1027
|
+
*
|
|
1028
|
+
* A locked item with no placement stays at its input position for `no-overlap` and `in-container`. A locked item with no
|
|
1029
|
+
* `x` or no `y` in the input is a bad input. The rules skip it, as `packHard` of the contract does. `checkInput` finds it.
|
|
1030
|
+
*
|
|
1031
|
+
* The test of an obstacle is exact: a circle, an ellipse and a polygon with holes count only their insides, as in `packHard`.
|
|
1032
|
+
* The rules read a shape of the container or of an item as its bounding box (decision 5). The bounding box of an item
|
|
1033
|
+
* shape is relative to the position of the item. The result has no tolerance in it.
|
|
1034
|
+
*
|
|
1035
|
+
* With `options.exactContainer`, a shaped container with the size `fixed` also uses its true outline for `in-container`.
|
|
1036
|
+
* A box then counts when `rectInRegion` of the contract tells that it is not in the shape, as in `packHard`.
|
|
1037
|
+
* For that test, the box grows by the inset and becomes smaller by `tolerance.overlap` on each side. The default is `false`.
|
|
1038
|
+
*/
|
|
1039
|
+
export declare function checkHard(input: PackInput, output: PackOutput, tolerance?: Pick<Tolerance, "overlap">, options?: ContainerTest$1): PackHard$1;
|
|
893
1040
|
/** A seeded generator of `layout-input/1` files. The same version, parameters and seed give the same file, byte for byte. */
|
|
894
1041
|
interface CorpusGenerator<P extends GeneratorParams = GeneratorParams> {
|
|
895
1042
|
/** The name. The file writes it in `generator.name`. */
|
|
@@ -1002,5 +1149,5 @@ interface Corpus {
|
|
|
1002
1149
|
* `RangeError` for an unknown generator, a different version or 2 inputs with the same id.
|
|
1003
1150
|
*/
|
|
1004
1151
|
export declare function corpus(name: string, specs: readonly CorpusSpec[]): Corpus;
|
|
1005
|
-
export { type Cell, type ChangeMeasures, type ContainerTest, type Corpus, type CorpusCell, type CorpusEntry, type CorpusGenerator, type CorpusManifest, type CorpusSpec, type CountScale, DEFAULT_TOLERANCE, type Dimension, type DimensionValue, type Direction, EPS, type EdgeCase, type EdgeCaseParams, type FreeSpace, type FreeSpan, type FreeWidthOptions, type FreeWidthResult, type FreeWidthTry, type GeneratedInput, type GeneratorParams, type GeneratorStamp, type Item, type LayoutContainer, type LayoutEdge, type LayoutInput, type LayoutMeasures, type LayoutStrategyOptions, type Margin, type MaxRectsOptions, type MaxRectsRule, type MaxRectsStrategyOptions, type MeasureFamily, type MeasureId, type MeasureOptions, type MeasureSpec, type MemberTrace, type MetricsOptions, type Obstacle, type ObstacleLayout, type PackContext, type PackHard, type PackInput, type PackLayoutOptions, type PackOptions, type PackOutput, type PackPortfolioOptions, type PackingMetrics, type Placement, type Port, type Portfolio, type PortfolioEntry, type PortfolioPick, type PortfolioTrace, type PushOptions, type PushStrategyOptions, RECORD_EPS, type RectGridParams, type RectScatteredParams, type Region, type SelectLevel, type ShelfFit, type ShelfOptions, type Side, type Sides, type SizeDistribution, type SizeSearch, type SkylineOptions, type SortOrder, type SpaceRect, type StageTrace, type Strategy, type Supports, type Tolerance, type UiParams, checkInput, turnPoint, turnPort, turnRegion };
|
|
1152
|
+
export { type Cell, type ChangeMeasures, type ContainerTest, type Corpus, type CorpusCell, type CorpusEntry, type CorpusGenerator, type CorpusManifest, type CorpusSpec, type CountScale, DEFAULT_TOLERANCE, type Dimension, type DimensionValue, type Direction, EPS, type EdgeCase, type EdgeCaseParams, type FreeSpace, type FreeSpan, type FreeWidthOptions, type FreeWidthResult, type FreeWidthTry, type GeneratedInput, type GeneratorParams, type GeneratorStamp, type Item, type LayoutContainer, type LayoutEdge, type LayoutInput, type LayoutMeasures, type LayoutStrategyOptions, type Margin, type MaxRectsOptions, type MaxRectsRule, type MaxRectsStrategyOptions, type MeasureFamily, type MeasureId, type MeasureOptions, type MeasureSpec, type MemberTrace, type MetricsOptions, type Obstacle, type ObstacleLayout, type PackContext, type PackHard, type PackInput, type PackLayoutOptions, type PackOptions, type PackOutput, type PackPortfolioOptions, type PackingMetrics, type Placement, type Port, type Portfolio, type PortfolioCell, type PortfolioCellSets, type PortfolioEntry, type PortfolioPick, type PortfolioSetSource, type PortfolioSets, type PortfolioSize, type PortfolioStrategyOptions, type PortfolioTrace, type PortfolioTrainScore, type PushOptions, type PushStrategyOptions, RECORD_EPS, type RectGridParams, type RectScatteredParams, type Region, type SelectLevel, type ShelfFit, type ShelfOptions, type Side, type Sides, type SizeDistribution, type SizeSearch, type SkylineOptions, type SortOrder, type SpaceRect, type SpreadBand, type StageTrace, type Strategy, type Supports, type Tolerance, type UiParams, checkInput, turnPoint, turnPort, turnRegion };
|
|
1006
1153
|
//# sourceMappingURL=index.d.ts.map
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["Item","Sides","ContractMeasureSpec","Direction","SelectLevel","Portfolio","
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["Item","Sides","ContractMeasureSpec","Direction","SelectLevel","Portfolio","LayoutContainer","LayoutEdge","LayoutInput","ContainerTest","PackHard"],"sources":["../src/vector.ts","../src/rect.ts","../src/order.ts","../src/contract.ts","../src/space.ts","../src/maxrects.ts","../src/shelf.ts","../src/pack.ts","../src/skyline.ts","../src/free.ts","../src/push.ts","../src/metrics.ts","../src/measures.ts","../src/strategy.ts","../src/adapters.ts","../src/convert.ts","../src/registry.ts","../src/portfolio.ts","../src/layout-input.ts","../src/portfolio-cell.ts","../src/portfolio-sets.ts","../src/portfolio-strategy.ts","../src/check.ts","../src/generators.ts","../src/corpus.ts"],"mappings":"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"}
|