$id, 'type' => $type, 'x' => 0, 'y' => 0, 'w' => 100, 'h' => 40, 'rotate' => 0, 'z' => 1, 'visible' => true, 'locked' => false, ], $opts); }; $pack = static function (string $code, string $name, string $family, array $layers): array { return [ 'code' => $code, 'name' => $name, 'family' => $family, 'is_preset' => 1, 'size' => ['w' => 340, 'h' => 420], 'layers' => $layers, ]; }; return [ $pack('clay-edge', '素胚纸边', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('edge', 'deco', ['asset' => 'paper-edge', 'tone' => 'primary', 'x' => 10, 'y' => 10, 'w' => 320, 'h' => 400, 'z' => 1]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 36, 'y' => 40, 'w' => 268, 'h' => 220, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 36, 'y' => 288, 'w' => 268, 'h' => 72, 'font' => 'title', 'z' => 5]), ]), $pack('pearl-line', '珠贝双线', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('line', 'deco', ['asset' => 'pearl-line', 'tone' => 'primary_soft', 'x' => 14, 'y' => 14, 'w' => 312, 'h' => 392, 'z' => 1]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 40, 'y' => 28, 'w' => 260, 'h' => 260, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 40, 'y' => 308, 'w' => 260, 'h' => 56, 'font' => 'caption', 'z' => 5]), ]), $pack('walnut-frame', '胡桃厚框', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'bg_soft', 'z' => 0, 'locked' => true]), $layer('frame', 'deco', ['asset' => 'walnut-frame', 'tone' => 'primary_strong', 'x' => 8, 'y' => 8, 'w' => 324, 'h' => 404, 'z' => 1]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 36, 'y' => 36, 'w' => 268, 'h' => 268, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 36, 'y' => 322, 'w' => 268, 'h' => 56, 'font' => 'title', 'z' => 5]), ]), $pack('champagne-foil', '香槟金箔', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('foil', 'deco', ['asset' => 'gold-foil', 'tone' => 'primary', 'x' => 16, 'y' => 16, 'w' => 308, 'h' => 388, 'z' => 1]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 32, 'y' => 32, 'w' => 276, 'h' => 232, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 32, 'y' => 280, 'w' => 220, 'h' => 48, 'font' => 'title', 'z' => 5]), $layer('stamp', 'deco', ['asset' => 'wax-seal', 'tone' => 'accent', 'x' => 264, 'y' => 348, 'w' => 52, 'h' => 52, 'z' => 6]), ]), $pack('museum-mat', '博物馆卡纸', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface_soft', 'z' => 0, 'locked' => true]), $layer('mat', 'deco', ['asset' => 'museum-mat', 'tone' => 'border', 'x' => 12, 'y' => 12, 'w' => 316, 'h' => 292, 'z' => 1]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 40, 'y' => 40, 'w' => 260, 'h' => 236, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 24, 'y' => 328, 'w' => 292, 'h' => 52, 'font' => 'caption', 'z' => 5]), ]), $pack('folio-line', '刊页双线', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('folio', 'deco', ['asset' => 'folio-line', 'tone' => 'primary', 'x' => 18, 'y' => 18, 'w' => 304, 'h' => 384, 'z' => 1]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 36, 'y' => 48, 'w' => 268, 'h' => 220, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 36, 'y' => 292, 'w' => 268, 'h' => 48, 'font' => 'title', 'z' => 5]), ]), $pack('gold-corner', '金角护片', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('corners', 'deco', ['asset' => 'gold-corner', 'tone' => 'primary', 'x' => 8, 'y' => 8, 'w' => 324, 'h' => 404, 'z' => 6]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 24, 'y' => 24, 'w' => 292, 'h' => 260, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 24, 'y' => 304, 'w' => 292, 'h' => 48, 'font' => 'title', 'z' => 5]), ]), $pack('emboss-plate', '浮雕铭牌', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 20, 'y' => 20, 'w' => 300, 'h' => 250, 'z' => 2]), $layer('plate', 'deco', ['asset' => 'emboss-plate', 'tone' => 'primary_soft', 'x' => 48, 'y' => 292, 'w' => 244, 'h' => 88, 'z' => 4]), $layer('title', 'text', ['bind' => 'name', 'x' => 60, 'y' => 312, 'w' => 220, 'h' => 48, 'font' => 'title', 'z' => 5]), ]), $pack('thin-rule', '细金线题签', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 16, 'y' => 16, 'w' => 308, 'h' => 268, 'z' => 2]), $layer('rule', 'deco', ['asset' => 'thin-rule', 'tone' => 'primary', 'x' => 24, 'y' => 300, 'w' => 120, 'h' => 8, 'z' => 4]), $layer('title', 'text', ['bind' => 'name', 'x' => 24, 'y' => 318, 'w' => 292, 'h' => 48, 'font' => 'title', 'z' => 5]), ]), $pack('inset-slot', '内凹卡槽', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'bg_soft', 'z' => 0, 'locked' => true]), $layer('slot', 'deco', ['asset' => 'inset-shadow', 'tone' => 'border', 'x' => 20, 'y' => 20, 'w' => 300, 'h' => 268, 'z' => 1]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 36, 'y' => 36, 'w' => 268, 'h' => 236, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 28, 'y' => 312, 'w' => 284, 'h' => 48, 'font' => 'title', 'z' => 5]), ]), $pack('double-frame', '双线金框', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('outer', 'deco', ['asset' => 'double-frame', 'tone' => 'primary', 'x' => 10, 'y' => 10, 'w' => 320, 'h' => 400, 'z' => 1]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 34, 'y' => 34, 'w' => 272, 'h' => 248, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 34, 'y' => 304, 'w' => 272, 'h' => 48, 'font' => 'title', 'z' => 5]), ]), $pack('arch-mat', '拱形衬纸', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('arch', 'deco', ['asset' => 'arch-mat', 'tone' => 'primary_soft', 'x' => 28, 'y' => 20, 'w' => 284, 'h' => 280, 'z' => 1]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 44, 'y' => 36, 'w' => 252, 'h' => 248, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 28, 'y' => 320, 'w' => 284, 'h' => 48, 'font' => 'title', 'z' => 5]), ]), $pack('circle-window', '圆形开窗', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('ring', 'deco', ['asset' => 'circle-crop', 'tone' => 'primary', 'x' => 46, 'y' => 24, 'w' => 248, 'h' => 248, 'z' => 3]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 58, 'y' => 36, 'w' => 224, 'h' => 224, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 24, 'y' => 300, 'w' => 292, 'h' => 52, 'font' => 'title', 'z' => 5]), ]), $pack('l-bracket', 'L 型护角', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 28, 'y' => 28, 'w' => 284, 'h' => 252, 'z' => 2]), $layer('br', 'deco', ['asset' => 'corner-bracket', 'tone' => 'accent', 'x' => 12, 'y' => 12, 'w' => 316, 'h' => 284, 'z' => 6]), $layer('title', 'text', ['bind' => 'name', 'x' => 28, 'y' => 308, 'w' => 284, 'h' => 48, 'font' => 'title', 'z' => 5]), ]), $pack('vignette', '暗角剧照', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 0, 'y' => 0, 'w' => 340, 'h' => 300, 'z' => 2]), $layer('vig', 'deco', ['asset' => 'vignette', 'tone' => 'text', 'x' => 0, 'y' => 0, 'w' => 340, 'h' => 300, 'z' => 3]), $layer('title', 'text', ['bind' => 'name', 'x' => 20, 'y' => 324, 'w' => 300, 'h' => 52, 'font' => 'title', 'z' => 5]), ]), $pack('cap-rail', '上沿帽檐', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('cap', 'deco', ['asset' => 'cap-rail', 'tone' => 'primary', 'x' => 0, 'y' => 0, 'w' => 340, 'h' => 28, 'z' => 6]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 16, 'y' => 36, 'w' => 308, 'h' => 252, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 20, 'y' => 308, 'w' => 300, 'h' => 48, 'font' => 'title', 'z' => 5]), ]), $pack('gutter-fold', '对开折页', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 16, 'y' => 16, 'w' => 308, 'h' => 268, 'z' => 2]), $layer('fold', 'deco', ['asset' => 'gutter-fold', 'tone' => 'border', 'x' => 164, 'y' => 16, 'w' => 12, 'h' => 268, 'z' => 4]), $layer('title', 'text', ['bind' => 'name', 'x' => 20, 'y' => 308, 'w' => 300, 'h' => 48, 'font' => 'title', 'z' => 5]), ]), $pack('pearl-bead', '软圆角珠边', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('bead', 'deco', ['asset' => 'pearl-bead', 'tone' => 'accent', 'x' => 12, 'y' => 12, 'w' => 316, 'h' => 396, 'z' => 1]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 36, 'y' => 36, 'w' => 268, 'h' => 236, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 36, 'y' => 296, 'w' => 268, 'h' => 48, 'font' => 'title', 'z' => 5]), ]), $pack('vert-caption', '侧向竖排', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 16, 'y' => 16, 'w' => 248, 'h' => 388, 'z' => 2]), $layer('rail', 'deco', ['asset' => 'vert-caption', 'tone' => 'primary', 'x' => 276, 'y' => 24, 'w' => 48, 'h' => 372, 'z' => 4]), $layer('title', 'text', ['bind' => 'name', 'x' => 268, 'y' => 80, 'w' => 64, 'h' => 260, 'font' => 'caption', 'rotate' => 90, 'z' => 5]), ]), $pack('ribbon-bow', '缎带压角', 'lux', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 24, 'y' => 36, 'w' => 292, 'h' => 248, 'z' => 2]), $layer('bow', 'deco', ['asset' => 'ribbon', 'tone' => 'accent', 'x' => 236, 'y' => 8, 'w' => 88, 'h' => 56, 'rotate' => 8, 'z' => 6]), $layer('title', 'text', ['bind' => 'name', 'x' => 24, 'y' => 308, 'w' => 292, 'h' => 48, 'font' => 'title', 'z' => 5]), ]), $pack('polaroid', '宝丽来题签', 'editorial', [ $layer('bg', 'shape', ['x' => 18, 'y' => 12, 'w' => 304, 'h' => 396, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 34, 'y' => 28, 'w' => 272, 'h' => 272, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 34, 'y' => 320, 'w' => 272, 'h' => 56, 'font' => 'caption', 'z' => 5]), ]), $pack('stacked-offset', '错层影卡', 'editorial', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('deck', 'deco', ['asset' => 'shadow-deck', 'tone' => 'border', 'x' => 52, 'y' => 40, 'w' => 236, 'h' => 200, 'rotate' => 7, 'z' => 1]), $layer('photo-back', 'photo', ['bind' => 'gallery', 'x' => 52, 'y' => 40, 'w' => 236, 'h' => 200, 'rotate' => 7, 'z' => 1]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 28, 'y' => 52, 'w' => 236, 'h' => 200, 'rotate' => -3, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 24, 'y' => 292, 'w' => 292, 'h' => 48, 'font' => 'title', 'z' => 5]), ]), $pack('film-sprocket', '胶片齿孔', 'editorial', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface_soft', 'z' => 0, 'locked' => true]), $layer('film', 'deco', ['asset' => 'film-sprocket', 'tone' => 'text_soft', 'x' => 8, 'y' => 36, 'w' => 324, 'h' => 248, 'z' => 3]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 36, 'y' => 52, 'w' => 268, 'h' => 216, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 24, 'y' => 312, 'w' => 292, 'h' => 48, 'font' => 'caption', 'z' => 5]), ]), $pack('folio-number', '刊号页码', 'editorial', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('num', 'deco', ['asset' => 'folio-number', 'tone' => 'primary', 'x' => 20, 'y' => 16, 'w' => 88, 'h' => 36, 'z' => 6]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 20, 'y' => 60, 'w' => 300, 'h' => 240, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 20, 'y' => 320, 'w' => 300, 'h' => 48, 'font' => 'title', 'z' => 5]), $layer('text-vol', 'text', ['text' => 'VOL. 08', 'x' => 24, 'y' => 18, 'w' => 80, 'h' => 28, 'font' => 'caption', 'z' => 7]), ]), $pack('stamp-ring', '邮戳圆环', 'editorial', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 24, 'y' => 24, 'w' => 292, 'h' => 252, 'z' => 2]), $layer('stamp', 'deco', ['asset' => 'stamp-ring', 'tone' => 'accent', 'x' => 232, 'y' => 300, 'w' => 84, 'h' => 84, 'rotate' => -12, 'z' => 6]), $layer('title', 'text', ['bind' => 'name', 'x' => 24, 'y' => 300, 'w' => 196, 'h' => 56, 'font' => 'title', 'z' => 5]), ]), $pack('lace-corner', '蕾丝角花', 'editorial', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('lace', 'deco', ['asset' => 'lace-corner', 'tone' => 'primary_soft', 'x' => 6, 'y' => 6, 'w' => 328, 'h' => 408, 'z' => 6]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 36, 'y' => 40, 'w' => 268, 'h' => 236, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 36, 'y' => 300, 'w' => 268, 'h' => 48, 'font' => 'title', 'z' => 5]), ]), $pack('washi-tape', '和纸胶带', 'atelier', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 28, 'y' => 40, 'w' => 284, 'h' => 236, 'z' => 2]), $layer('tape-t', 'deco', ['asset' => 'washi-1', 'tone' => 'accent', 'x' => 44, 'y' => 16, 'w' => 96, 'h' => 26, 'rotate' => 8, 'z' => 6]), $layer('tape-b', 'deco', ['asset' => 'washi-1', 'tone' => 'primary_soft', 'x' => 200, 'y' => 252, 'w' => 88, 'h' => 24, 'rotate' => -7, 'z' => 6]), $layer('title', 'text', ['bind' => 'name', 'x' => 28, 'y' => 304, 'w' => 284, 'h' => 48, 'font' => 'title', 'z' => 5]), ]), $pack('botanical', '干花压角', 'atelier', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 32, 'y' => 40, 'w' => 276, 'h' => 236, 'z' => 2]), $layer('leaf-tl', 'deco', ['asset' => 'botanical', 'tone' => 'accent', 'x' => 4, 'y' => 4, 'w' => 80, 'h' => 80, 'rotate' => -14, 'z' => 6]), $layer('leaf-br', 'deco', ['asset' => 'botanical', 'tone' => 'primary', 'x' => 256, 'y' => 336, 'w' => 72, 'h' => 72, 'rotate' => 148, 'z' => 6]), $layer('title', 'text', ['bind' => 'name', 'x' => 32, 'y' => 296, 'w' => 276, 'h' => 48, 'font' => 'title', 'z' => 5]), ]), $pack('torn-edge', '撕边剪贴', 'atelier', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('torn', 'deco', ['asset' => 'torn-edge', 'tone' => 'text_soft', 'x' => 20, 'y' => 24, 'w' => 300, 'h' => 260, 'rotate' => -1, 'z' => 1]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 32, 'y' => 36, 'w' => 276, 'h' => 236, 'z' => 2]), $layer('title', 'text', ['bind' => 'name', 'x' => 28, 'y' => 308, 'w' => 284, 'h' => 48, 'font' => 'title', 'z' => 5]), ]), $pack('handwriting', '手写题签', 'atelier', [ $layer('bg', 'shape', ['x' => 0, 'y' => 0, 'w' => 340, 'h' => 420, 'fill' => 'surface', 'z' => 0, 'locked' => true]), $layer('photo', 'photo', ['bind' => 'cover', 'x' => 24, 'y' => 20, 'w' => 292, 'h' => 268, 'z' => 2]), $layer('tag', 'deco', ['asset' => 'handwriting', 'tone' => 'primary', 'x' => 28, 'y' => 348, 'w' => 200, 'h' => 36, 'rotate' => -3, 'z' => 6]), $layer('title', 'text', ['bind' => 'name', 'x' => 36, 'y' => 308, 'w' => 240, 'h' => 40, 'font' => 'caption', 'rotate' => -2, 'z' => 5]), ]), ];