@melite/models-trellis2-native 0.1.5-pre-alpha → 0.2.0-alpha

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/lib/actions.js CHANGED
@@ -236,9 +236,13 @@ export const mesh = {
236
236
  // (LoadImage) verbatim — a MaskToImage-sourced crop feeds the
237
237
  // silhouette, and the silhouette starves every appearance
238
238
 
239
- // IMAGE for its masks leg.
239
+
240
+ // "return_type_mismatch ... input_type(MASK)"), so the region
241
+ // rides ImageToMask of the SAME photo — images stay the photo
242
+ // verbatim (appearance features), the region is a real mask.
243
+ const mask = g.node('ImageToMask', { image: img, channel: 'red' }).out();
240
244
  const cropped = g.node('ImageCropToMask', {
241
- images: img, masks: img,
245
+ images: img, masks: mask,
242
246
  pad_factor: 1.1, width: 1024, height: 1024,
243
247
  // pin autofills leaves in place (core defaults)
244
248
  background: '#000000', grow_mask: 0,
package/lib/index.js CHANGED
@@ -55,6 +55,15 @@ export const DECL = {
55
55
  "layout": "studio"
56
56
  },
57
57
  "genre": "3d",
58
+
59
+ // variant row declares its own steps+cfg in resolver_defaults —
60
+ // the family defaults can never substitute for a variant's face.
61
+ // input_image is the user-provided seat.
62
+ "required_defaults": [
63
+ { "name": "steps", "class": "variant" },
64
+ { "name": "cfg", "class": "variant" },
65
+ { "name": "input_image", "class": "user" }
66
+ ],
58
67
  "variants": [
59
68
  {
60
69
  "id": "1024",
@@ -62,19 +71,16 @@ export const DECL = {
62
71
  "hint": "Standard resolution — the fast tier",
63
72
  "group": "Variant",
64
73
  "route": "trellis2-native",
65
- // no resolver_defaults — the family defaults row owns
66
- // resolution (one value, one owner); this row IS the lane
74
+ // Resolution stays family-owned (one value, one owner — this row
75
+ // IS the lane), but the SAMPLER pair is declared here (the
76
+ // variant-sampler-defaults law): 12 / 7.5 — the official
77
+
78
+ // standard-tier ruling).
79
+ "resolver_defaults": { "steps": 12, "cfg": 7.5 },
67
80
  "order": 0,
68
81
  "cells": [
69
82
  {
70
- "quant": "bf16",
71
- "label": "BF16",
72
- "hide_from_dropdown": true,
73
- "route": "trellis2-native-bf16",
74
- "vram_peak_gb": 12,
75
- },
76
- {
77
- "quant": "int8",
83
+ "quant": "int8_convrot",
78
84
  "label": "INT8 ConvRot",
79
85
  "route": "trellis2-native-int8",
80
86
  "vram_peak_gb": 8,
@@ -90,13 +96,24 @@ export const DECL = {
90
96
  // off-envelope and died with its variant row). The remesh tail
91
97
  // rides the family defaults row (the floors ARE the standard —
92
98
  // the h3 precedent: a recipe stamps only what DIFFERS from the
93
- // floor). STANDARD is the stamp-less first row: the birth stamp
94
- // takes the FIRST Recipe row, so every fresh card lands here
95
- // named Standard with the calibration riding as floors.
99
+ // floor). HIGH is the FIRST row and the group default (operator
100
+
101
+ // be run" — the old standard default's output read poor/low
102
+ // quality): 1536 detail + a mid remesh tail, comfortably under
103
+ // a 24GB card. STANDARD is now the stamp-less second row — the
104
+ // calibrated floor as an explicit pick.
105
+ {
106
+ "id": "high",
107
+ "label": "High",
108
+ "hint": "The default — high quality that still runs: 1536 detail + remesh 1024 + 1M faces; the int8 chain peaks well under a 24GB card.",
109
+ "group": "Recipe",
110
+ "wire_defaults": { "resolution": "1536", "remesh_resolution": 1024, "decimate_faces": 1000000 },
111
+ "cells": [],
112
+ },
96
113
  {
97
114
  "id": "standard",
98
115
  "label": "Standard",
99
- "hint": "The default — the official template's calibration as the floor: 1024 + remesh 768 + 700k faces; fits a 24GB card.",
116
+ "hint": "The official template's calibration as the floor: 1024 + remesh 768 + 700k faces.",
100
117
  "group": "Recipe",
101
118
  "cells": [],
102
119
  },
@@ -129,8 +146,8 @@ export const DECL = {
129
146
  {
130
147
  "id": "Recipe",
131
148
  "label": "Recipe",
132
- "tooltip": "One-click mesh tiers — patch-only rows: Fast (preview tail), Standard (the calibrated default), Quality (1536 hero pass).",
133
- "default": "standard"
149
+ "tooltip": "One-click mesh tiers — patch-only rows: High (the runnable 1536 default), Fast (preview tail), Standard (the calibrated floor), Quality (1536 hero pass).",
150
+ "default": "high"
134
151
  }
135
152
  ],
136
153
  "provisions": [
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@melite/models-trellis2-native",
3
- "version": "0.1.5-pre-alpha",
4
- "license": "SSPL-1.0",
3
+ "version": "0.2.0-alpha",
4
+ "license": "AGPL-3.0-or-later",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {
@@ -11,12 +11,12 @@
11
11
  "./package.json": "./package.json"
12
12
  },
13
13
  "dependencies": {
14
- "@melite/comfyui-card-kit": "0.1.5-pre-alpha"
14
+ "@melite/comfyui-card-kit": "0.2.0-alpha"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@types/node": "^22.20.0",
18
18
  "typescript": "^5.9.3",
19
- "@deepseek-ai/cordis": "^4.0.4"
19
+ "@deepseek-ai/cordis": "^4.0.5"
20
20
  },
21
21
  "files": [
22
22
  "lib/index.js",
@@ -24,7 +24,7 @@
24
24
  "lib/**/*.d.ts"
25
25
  ],
26
26
  "peerDependencies": {
27
- "@deepseek-ai/cordis": "^4.0.4"
27
+ "@deepseek-ai/cordis": "^4.0.5"
28
28
  },
29
29
  "scripts": {
30
30
  "build": "tsc -p tsconfig.build.json",