feat: expose all 13 scoring criteria as weighting sliders
Previously only 8 of the 13 engine criteria had sliders — flexibility, visibility, footfall, talentAccess, esg were scored using fixed defaults with no user control. Now all 13 criteria appear in the WeightingEditor. - needBuilder.ts: WEIGHTING_KEYS and WEIGHTING_LABELS extended to all 13 - scoreCalculator.ts: CORE array in resolveProfile now includes all 13 - need.ts: WeightingProfile interface explicit for all 13 fields - needs.ts: all 11 mock need profiles updated with asset-type-appropriate weights (RETAIL needs high footfall/visibility; LOGISTICS low; OFFICE high talentAccess; TechStart high taxEnvironment for Zug, etc.) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -22,7 +22,11 @@ function resolveProfile(need: Need, property: Property): ScoringWeightProfile {
|
||||
if (!np) return base
|
||||
|
||||
// Apply need's custom core weights, then renormalize the full profile to 1.00
|
||||
const CORE = ['area', 'location', 'budget', 'timing', 'prestige', 'accessibility', 'expansionPotential', 'taxEnvironment']
|
||||
const CORE = [
|
||||
'area', 'location', 'budget', 'timing',
|
||||
'prestige', 'accessibility', 'expansionPotential', 'flexibility',
|
||||
'visibility', 'footfall', 'talentAccess', 'esg', 'taxEnvironment',
|
||||
]
|
||||
for (const key of CORE) {
|
||||
if (typeof np[key] === 'number') base[key] = np[key]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user