@researai/deepscientist 1.5.16 → 1.6.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/AGENTS.md +309 -130
- package/AISB/catalog/aisb.b1.agentic_coding.yaml +244 -0
- package/AISB/catalog/aisb.b10.climate_earth.yaml +235 -0
- package/AISB/catalog/aisb.b11.model_efficiency.yaml +231 -0
- package/AISB/catalog/aisb.b12.embodied_ai.yaml +238 -0
- package/AISB/catalog/aisb.b2.agent_systems.yaml +229 -0
- package/AISB/catalog/aisb.b3.self_evolving_rl.yaml +237 -0
- package/AISB/catalog/aisb.b4.lm_reasoning.yaml +240 -0
- package/AISB/catalog/aisb.b5.math_proof.yaml +235 -0
- package/AISB/catalog/aisb.b6.research_process.yaml +243 -0
- package/AISB/catalog/aisb.b7.multimodal_fusion.yaml +232 -0
- package/AISB/catalog/aisb.b8.lifesci_drug.yaml +275 -0
- package/AISB/catalog/aisb.b9.material_science.yaml +237 -0
- package/AISB/catalog/aisb.t3.001_savvy.yaml +159 -0
- package/AISB/catalog/aisb.t3.001_savvy.zh.yaml +121 -0
- package/AISB/catalog/aisb.t3.002_pinet.yaml +189 -0
- package/AISB/catalog/aisb.t3.002_pinet.zh.yaml +130 -0
- package/AISB/catalog/aisb.t3.004_decentralattn.yaml +184 -0
- package/AISB/catalog/aisb.t3.004_decentralattn.zh.yaml +153 -0
- package/AISB/catalog/aisb.t3.005_tsae.yaml +193 -0
- package/AISB/catalog/aisb.t3.005_tsae.zh.yaml +139 -0
- package/AISB/catalog/aisb.t3.006_physense.yaml +194 -0
- package/AISB/catalog/aisb.t3.006_physense.zh.yaml +118 -0
- package/AISB/catalog/aisb.t3.007_reasoningiqa.yaml +169 -0
- package/AISB/catalog/aisb.t3.007_reasoningiqa.zh.yaml +133 -0
- package/AISB/catalog/aisb.t3.008_meanflows.yaml +188 -0
- package/AISB/catalog/aisb.t3.008_meanflows.zh.yaml +140 -0
- package/AISB/catalog/aisb.t3.009_scoremissing.yaml +179 -0
- package/AISB/catalog/aisb.t3.009_scoremissing.zh.yaml +119 -0
- package/AISB/catalog/aisb.t3.010_suitabilityfilter.yaml +221 -0
- package/AISB/catalog/aisb.t3.010_suitabilityfilter.zh.yaml +141 -0
- package/AISB/catalog/aisb.t3.011_osd.yaml +206 -0
- package/AISB/catalog/aisb.t3.011_osd.zh.yaml +163 -0
- package/AISB/catalog/aisb.t3.012_efficientqat.yaml +206 -0
- package/AISB/catalog/aisb.t3.012_efficientqat.zh.yaml +159 -0
- package/AISB/catalog/aisb.t3.013_appl.yaml +152 -0
- package/AISB/catalog/aisb.t3.013_appl.zh.yaml +126 -0
- package/AISB/catalog/aisb.t3.014_piguard.yaml +207 -0
- package/AISB/catalog/aisb.t3.014_piguard.zh.yaml +164 -0
- package/AISB/catalog/aisb.t3.015_frspec.yaml +209 -0
- package/AISB/catalog/aisb.t3.015_frspec.zh.yaml +163 -0
- package/AISB/catalog/aisb.t3.016_mathfusion.yaml +166 -0
- package/AISB/catalog/aisb.t3.016_mathfusion.zh.yaml +145 -0
- package/AISB/catalog/aisb.t3.017_multimodalglp.yaml +171 -0
- package/AISB/catalog/aisb.t3.017_multimodalglp.zh.yaml +122 -0
- package/AISB/catalog/aisb.t3.018_cotsynth.yaml +206 -0
- package/AISB/catalog/aisb.t3.018_cotsynth.zh.yaml +162 -0
- package/AISB/catalog/aisb.t3.019_dyscaleut.yaml +211 -0
- package/AISB/catalog/aisb.t3.019_dyscaleut.zh.yaml +148 -0
- package/AISB/catalog/aisb.t3.020_aristotle.yaml +173 -0
- package/AISB/catalog/aisb.t3.020_aristotle.zh.yaml +119 -0
- package/AISB/catalog/aisb.t3.021_tokenrecycling.yaml +160 -0
- package/AISB/catalog/aisb.t3.021_tokenrecycling.zh.yaml +129 -0
- package/AISB/catalog/aisb.t3.022_chainofreasoning.yaml +204 -0
- package/AISB/catalog/aisb.t3.022_chainofreasoning.zh.yaml +161 -0
- package/AISB/catalog/aisb.t3.023_guidedembed.yaml +211 -0
- package/AISB/catalog/aisb.t3.023_guidedembed.zh.yaml +189 -0
- package/AISB/catalog/aisb.t3.024_outputcentric.yaml +148 -0
- package/AISB/catalog/aisb.t3.024_outputcentric.zh.yaml +131 -0
- package/AISB/catalog/aisb.t3.025_deeper.yaml +143 -0
- package/AISB/catalog/aisb.t3.025_deeper.zh.yaml +116 -0
- package/AISB/catalog/aisb.t3.026_gartkg.yaml +195 -0
- package/AISB/catalog/aisb.t3.026_gartkg.zh.yaml +127 -0
- package/AISB/catalog/aisb.t3.027_citeeval.yaml +182 -0
- package/AISB/catalog/aisb.t3.027_citeeval.zh.yaml +135 -0
- package/AISB/catalog/aisb.t3.028_sbam.yaml +206 -0
- package/AISB/catalog/aisb.t3.028_sbam.zh.yaml +166 -0
- package/AISB/catalog/aisb.t3.029_cdqgeoembed.yaml +224 -0
- package/AISB/catalog/aisb.t3.029_cdqgeoembed.zh.yaml +142 -0
- package/AISB/catalog/aisb.t3.030_processrm.yaml +211 -0
- package/AISB/catalog/aisb.t3.030_processrm.zh.yaml +166 -0
- package/AISB/catalog/aisb.t3.031_circuitstability.yaml +172 -0
- package/AISB/catalog/aisb.t3.031_circuitstability.zh.yaml +134 -0
- package/AISB/catalog/aisb.t3.032_ptsolver.yaml +169 -0
- package/AISB/catalog/aisb.t3.032_ptsolver.zh.yaml +135 -0
- package/AISB/catalog/aisb.t3.033_gcse.yaml +144 -0
- package/AISB/catalog/aisb.t3.033_gcse.zh.yaml +126 -0
- package/AISB/catalog/aisb.t3.034_ensemblewm.yaml +183 -0
- package/AISB/catalog/aisb.t3.034_ensemblewm.zh.yaml +146 -0
- package/AISB/catalog/aisb.t3.035_moralvalueswa.yaml +207 -0
- package/AISB/catalog/aisb.t3.035_moralvalueswa.zh.yaml +165 -0
- package/AISB/catalog/aisb.t3.036_weakstrongpref.yaml +210 -0
- package/AISB/catalog/aisb.t3.036_weakstrongpref.zh.yaml +194 -0
- package/AISB/catalog/aisb.t3.037_dementiamask.yaml +172 -0
- package/AISB/catalog/aisb.t3.037_dementiamask.zh.yaml +132 -0
- package/AISB/catalog/aisb.t3.038_tinysam.yaml +284 -0
- package/AISB/catalog/aisb.t3.038_tinysam.zh.yaml +240 -0
- package/AISB/catalog/aisb.t3.039_calf.yaml +224 -0
- package/AISB/catalog/aisb.t3.039_calf.zh.yaml +194 -0
- package/AISB/catalog/aisb.t3.040_graniteguardian.yaml +199 -0
- package/AISB/catalog/aisb.t3.040_graniteguardian.zh.yaml +174 -0
- package/AISB/catalog/aisb.t3.041_amdm.yaml +149 -0
- package/AISB/catalog/aisb.t3.041_amdm.zh.yaml +137 -0
- package/AISB/catalog/aisb.t3.042_xpatch.yaml +216 -0
- package/AISB/catalog/aisb.t3.042_xpatch.zh.yaml +182 -0
- package/AISB/catalog/aisb.t3.043_vhm.yaml +268 -0
- package/AISB/catalog/aisb.t3.043_vhm.zh.yaml +193 -0
- package/AISB/catalog/aisb.t3.044_rgvi.yaml +224 -0
- package/AISB/catalog/aisb.t3.044_rgvi.zh.yaml +176 -0
- package/AISB/catalog/aisb.t3.045_pslstm.yaml +203 -0
- package/AISB/catalog/aisb.t3.045_pslstm.zh.yaml +179 -0
- package/AISB/catalog/aisb.t3.046_nonstatts.yaml +208 -0
- package/AISB/catalog/aisb.t3.046_nonstatts.zh.yaml +194 -0
- package/AISB/catalog/aisb.t3.047_timepfn.yaml +156 -0
- package/AISB/catalog/aisb.t3.047_timepfn.zh.yaml +124 -0
- package/AISB/catalog/aisb.t3.048_proxyspex.yaml +148 -0
- package/AISB/catalog/aisb.t3.048_proxyspex.zh.yaml +125 -0
- package/AISB/catalog/aisb.t3.049_hogwildinference.yaml +183 -0
- package/AISB/catalog/aisb.t3.049_hogwildinference.zh.yaml +138 -0
- package/AISB/catalog/aisb.t3.050_causalpfn.yaml +214 -0
- package/AISB/catalog/aisb.t3.050_causalpfn.zh.yaml +190 -0
- package/AISB/catalog/aisb.t3.051_flashtp.yaml +169 -0
- package/AISB/catalog/aisb.t3.051_flashtp.zh.yaml +124 -0
- package/AISB/catalog/aisb.t3.052_nsdiff.yaml +155 -0
- package/AISB/catalog/aisb.t3.052_nsdiff.zh.yaml +138 -0
- package/AISB/catalog/aisb.t3.053_k2vae.yaml +158 -0
- package/AISB/catalog/aisb.t3.053_k2vae.zh.yaml +132 -0
- package/AISB/catalog/aisb.t3.054_timebase.yaml +178 -0
- package/AISB/catalog/aisb.t3.054_timebase.zh.yaml +158 -0
- package/AISB/catalog/aisb.t3.055_csbrain.yaml +238 -0
- package/AISB/catalog/aisb.t3.055_csbrain.zh.yaml +184 -0
- package/AISB/catalog/aisb.t3.056_infosam.yaml +224 -0
- package/AISB/catalog/aisb.t3.056_infosam.zh.yaml +189 -0
- package/AISB/catalog/aisb.t3.057_mdreid.yaml +129 -0
- package/AISB/catalog/aisb.t3.057_mdreid.zh.yaml +117 -0
- package/AISB/catalog/aisb.t3.058_mindglitch.yaml +171 -0
- package/AISB/catalog/aisb.t3.058_mindglitch.zh.yaml +145 -0
- package/AISB/catalog/aisb.t3.059_selfsupervised.yaml +154 -0
- package/AISB/catalog/aisb.t3.059_selfsupervised.zh.yaml +125 -0
- package/AISB/catalog/aisb.t3.060_iaggad.yaml +121 -0
- package/AISB/catalog/aisb.t3.060_iaggad.zh.yaml +100 -0
- package/AISB/catalog/aisb.t3.061_hsgkn.yaml +136 -0
- package/AISB/catalog/aisb.t3.061_hsgkn.zh.yaml +113 -0
- package/AISB/catalog/aisb.t3.062_visionts.yaml +237 -0
- package/AISB/catalog/aisb.t3.062_visionts.zh.yaml +216 -0
- package/AISB/catalog/aisb.t3.063_tsrag.yaml +162 -0
- package/AISB/catalog/aisb.t3.063_tsrag.zh.yaml +138 -0
- package/AISB/catalog/aisb.t3.064_pir.yaml +221 -0
- package/AISB/catalog/aisb.t3.064_pir.zh.yaml +197 -0
- package/AISB/catalog/aisb.t3.065_proteinbinding.yaml +234 -0
- package/AISB/catalog/aisb.t3.065_proteinbinding.zh.yaml +167 -0
- package/AISB/catalog/aisb.t3.066_tropicalattention.yaml +267 -0
- package/AISB/catalog/aisb.t3.066_tropicalattention.zh.yaml +229 -0
- package/AISB/catalog/aisb.t3.067_kanad.yaml +193 -0
- package/AISB/catalog/aisb.t3.067_kanad.zh.yaml +167 -0
- package/AISB/catalog/aisb.t3.068_sempo.yaml +187 -0
- package/AISB/catalog/aisb.t3.068_sempo.zh.yaml +148 -0
- package/AISB/catalog/aisb.t3.069_treehfd.yaml +129 -0
- package/AISB/catalog/aisb.t3.069_treehfd.zh.yaml +111 -0
- package/AISB/catalog/aisb.t3.070_certifiedunlearning.yaml +224 -0
- package/AISB/catalog/aisb.t3.070_certifiedunlearning.zh.yaml +171 -0
- package/AISB/catalog/aisb.t3.071_neuralmjd.yaml +142 -0
- package/AISB/catalog/aisb.t3.071_neuralmjd.zh.yaml +120 -0
- package/AISB/catalog/aisb.t3.072_fedgmt.yaml +181 -0
- package/AISB/catalog/aisb.t3.072_fedgmt.zh.yaml +158 -0
- package/AISB/catalog/aisb.t3.073_rld.yaml +161 -0
- package/AISB/catalog/aisb.t3.073_rld.zh.yaml +129 -0
- package/AISB/catalog/aisb.t3.074_lsvi.yaml +163 -0
- package/AISB/catalog/aisb.t3.074_lsvi.zh.yaml +129 -0
- package/AISB/catalog/aisb.t3.075_treeslicedentropy.yaml +201 -0
- package/AISB/catalog/aisb.t3.075_treeslicedentropy.zh.yaml +148 -0
- package/AISB/catalog/aisb.t3.076_aanet.yaml +169 -0
- package/AISB/catalog/aisb.t3.076_aanet.zh.yaml +129 -0
- package/AISB/catalog/aisb.t3.077_cmnn.yaml +199 -0
- package/AISB/catalog/aisb.t3.077_cmnn.zh.yaml +165 -0
- package/AISB/catalog/aisb.t3.078_conformalanomaly.yaml +146 -0
- package/AISB/catalog/aisb.t3.078_conformalanomaly.zh.yaml +117 -0
- package/AISB/catalog/aisb.t3.079_dpfkmeans.yaml +131 -0
- package/AISB/catalog/aisb.t3.079_dpfkmeans.zh.yaml +104 -0
- package/AISB/catalog/aisb.t3.080_latentscorereweight.yaml +169 -0
- package/AISB/catalog/aisb.t3.080_latentscorereweight.zh.yaml +123 -0
- package/AISB/catalog/aisb.t3.081_qmamba.yaml +150 -0
- package/AISB/catalog/aisb.t3.081_qmamba.zh.yaml +117 -0
- package/AISB/catalog/aisb.t3.082_onlinellmrouting.yaml +160 -0
- package/AISB/catalog/aisb.t3.082_onlinellmrouting.zh.yaml +133 -0
- package/AISB/catalog/aisb.t3.083_starformer.yaml +178 -0
- package/AISB/catalog/aisb.t3.083_starformer.zh.yaml +140 -0
- package/AISB/catalog/aisb.t3.084_ift.yaml +139 -0
- package/AISB/catalog/aisb.t3.084_ift.zh.yaml +111 -0
- package/AISB/catalog/aisb.t3.085_neuralsurv.yaml +183 -0
- package/AISB/catalog/aisb.t3.085_neuralsurv.zh.yaml +143 -0
- package/AISB/catalog/aisb.t3.086_stella.yaml +197 -0
- package/AISB/catalog/aisb.t3.086_stella.zh.yaml +142 -0
- package/AISB/catalog/aisb.t3.087_moses.yaml +167 -0
- package/AISB/catalog/aisb.t3.087_moses.zh.yaml +132 -0
- package/AISB/catalog/aisb.t3.088_channelnorm.yaml +140 -0
- package/AISB/catalog/aisb.t3.088_channelnorm.zh.yaml +109 -0
- package/AISB/catalog/aisb.t3.089_causalvelocity.yaml +730 -0
- package/AISB/catalog/aisb.t3.089_causalvelocity.zh.yaml +668 -0
- package/AISB/catalog/aisb.t3.090_rstib.yaml +144 -0
- package/AISB/catalog/aisb.t3.090_rstib.zh.yaml +109 -0
- package/AISB/catalog/aisb.t3.091_timeawarecausal.yaml +132 -0
- package/AISB/catalog/aisb.t3.091_timeawarecausal.zh.yaml +107 -0
- package/AISB/catalog/aisb.t3.092_kmeanslocalopt.yaml +138 -0
- package/AISB/catalog/aisb.t3.092_kmeanslocalopt.zh.yaml +110 -0
- package/AISB/catalog/aisb.t3.093_fedwmsam.yaml +134 -0
- package/AISB/catalog/aisb.t3.093_fedwmsam.zh.yaml +106 -0
- package/AISB/catalog/aisb.t3.094_boundre.yaml +147 -0
- package/AISB/catalog/aisb.t3.094_boundre.zh.yaml +114 -0
- package/AISB/catalog/aisb.t3.095_fastfeaturecp.yaml +153 -0
- package/AISB/catalog/aisb.t3.095_fastfeaturecp.zh.yaml +118 -0
- package/AISB/catalog/aisb.t3.096_m3svm.yaml +189 -0
- package/AISB/catalog/aisb.t3.096_m3svm.zh.yaml +149 -0
- package/AISB/catalog/aisb.t3.097_wassersteintl.yaml +212 -0
- package/AISB/catalog/aisb.t3.097_wassersteintl.zh.yaml +169 -0
- package/AISB/catalog/aisb.t3.098_xmahalanobis.yaml +171 -0
- package/AISB/catalog/aisb.t3.098_xmahalanobis.zh.yaml +127 -0
- package/AISB/catalog/aisb.t3.099_ollalanding.yaml +248 -0
- package/AISB/catalog/aisb.t3.099_ollalanding.zh.yaml +182 -0
- package/AISB/catalog/aisb.t3.100_invmissingdata.yaml +179 -0
- package/AISB/catalog/aisb.t3.100_invmissingdata.zh.yaml +150 -0
- package/AISB/catalog/aisb.t3.101_acia.yaml +164 -0
- package/AISB/catalog/aisb.t3.101_acia.zh.yaml +109 -0
- package/AISB/catalog/aisb.t3.102_stochasticff.yaml +178 -0
- package/AISB/catalog/aisb.t3.102_stochasticff.zh.yaml +130 -0
- package/AISB/catalog/aisb.t3.103_qdcp.yaml +150 -0
- package/AISB/catalog/aisb.t3.103_qdcp.zh.yaml +116 -0
- package/AISB/catalog/aisb.t3.104_balancedactiveinf.yaml +137 -0
- package/AISB/catalog/aisb.t3.104_balancedactiveinf.zh.yaml +104 -0
- package/AISB/catalog/aisb.t3.105_binaryclasseval.yaml +161 -0
- package/AISB/catalog/aisb.t3.105_binaryclasseval.zh.yaml +130 -0
- package/AISB/image/001_aisb.t3.001_savvy.jpg +0 -0
- package/AISB/image/002_aisb.t3.002_pinet.jpg +0 -0
- package/AISB/image/003_aisb.t3.003_dmsqd.jpg +0 -0
- package/AISB/image/004_aisb.t3.004_decentralattn.jpg +0 -0
- package/AISB/image/005_aisb.t3.005_tsae.jpg +0 -0
- package/AISB/image/006_aisb.t3.006_physense.jpg +0 -0
- package/AISB/image/007_aisb.t3.007_reasoningiqa.jpg +0 -0
- package/AISB/image/008_aisb.t3.008_meanflows.jpg +0 -0
- package/AISB/image/009_aisb.t3.009_scoremissing.jpg +0 -0
- package/AISB/image/010_aisb.t3.010_suitabilityfilter.jpg +0 -0
- package/AISB/image/011_aisb.t3.011_osd.jpg +0 -0
- package/AISB/image/012_aisb.t3.012_efficientqat.jpg +0 -0
- package/AISB/image/013_aisb.t3.013_appl.jpg +0 -0
- package/AISB/image/014_aisb.t3.014_piguard.jpg +0 -0
- package/AISB/image/015_aisb.t3.015_frspec.jpg +0 -0
- package/AISB/image/016_aisb.t3.016_mathfusion.jpg +0 -0
- package/AISB/image/017_aisb.t3.017_multimodalglp.jpg +0 -0
- package/AISB/image/018_aisb.t3.018_cotsynth.jpg +0 -0
- package/AISB/image/019_aisb.t3.019_dyscaleut.jpg +0 -0
- package/AISB/image/020_aisb.t3.020_aristotle.jpg +0 -0
- package/AISB/image/021_aisb.t3.021_tokenrecycling.jpg +0 -0
- package/AISB/image/022_aisb.t3.022_chainofreasoning.jpg +0 -0
- package/AISB/image/023_aisb.t3.023_guidedembed.jpg +0 -0
- package/AISB/image/024_aisb.t3.024_outputcentric.jpg +0 -0
- package/AISB/image/025_aisb.t3.025_deeper.jpg +0 -0
- package/AISB/image/026_aisb.t3.026_gartkg.jpg +0 -0
- package/AISB/image/027_aisb.t3.027_citeeval.jpg +0 -0
- package/AISB/image/028_aisb.t3.028_sbam.jpg +0 -0
- package/AISB/image/029_aisb.t3.029_cdqgeoembed.jpg +0 -0
- package/AISB/image/030_aisb.t3.030_processrm.jpg +0 -0
- package/AISB/image/031_aisb.t3.031_circuitstability.jpg +0 -0
- package/AISB/image/032_aisb.t3.032_ptsolver.jpg +0 -0
- package/AISB/image/033_aisb.t3.033_gcse.jpg +0 -0
- package/AISB/image/034_aisb.t3.034_ensemblewm.jpg +0 -0
- package/AISB/image/035_aisb.t3.035_moralvalueswa.jpg +0 -0
- package/AISB/image/036_aisb.t3.036_weakstrongpref.jpg +0 -0
- package/AISB/image/037_aisb.t3.037_dementiamask.jpg +0 -0
- package/AISB/image/038_aisb.t3.038_tinysam.jpg +0 -0
- package/AISB/image/039_aisb.t3.039_calf.jpg +0 -0
- package/AISB/image/040_aisb.t3.040_graniteguardian.jpg +0 -0
- package/AISB/image/041_aisb.t3.041_amdm.jpg +0 -0
- package/AISB/image/042_aisb.t3.042_xpatch.jpg +0 -0
- package/AISB/image/043_aisb.t3.043_vhm.jpg +0 -0
- package/AISB/image/044_aisb.t3.044_rgvi.jpg +0 -0
- package/AISB/image/045_aisb.t3.045_pslstm.jpg +0 -0
- package/AISB/image/046_aisb.t3.046_nonstatts.jpg +0 -0
- package/AISB/image/047_aisb.t3.047_timepfn.jpg +0 -0
- package/AISB/image/048_aisb.t3.048_proxyspex.jpg +0 -0
- package/AISB/image/049_aisb.t3.049_hogwildinference.jpg +0 -0
- package/AISB/image/050_aisb.t3.050_causalpfn.jpg +0 -0
- package/AISB/image/051_aisb.t3.051_flashtp.jpg +0 -0
- package/AISB/image/052_aisb.t3.052_nsdiff.jpg +0 -0
- package/AISB/image/053_aisb.t3.053_k2vae.jpg +0 -0
- package/AISB/image/054_aisb.t3.054_timebase.jpg +0 -0
- package/AISB/image/055_aisb.t3.055_csbrain.jpg +0 -0
- package/AISB/image/056_aisb.t3.056_infosam.jpg +0 -0
- package/AISB/image/057_aisb.t3.057_mdreid.jpg +0 -0
- package/AISB/image/058_aisb.t3.058_mindglitch.jpg +0 -0
- package/AISB/image/059_aisb.t3.059_selfsupervised.jpg +0 -0
- package/AISB/image/060_aisb.t3.060_iaggad.jpg +0 -0
- package/AISB/image/061_aisb.t3.061_hsgkn.jpg +0 -0
- package/AISB/image/062_aisb.t3.062_visionts.jpg +0 -0
- package/AISB/image/063_aisb.t3.063_tsrag.jpg +0 -0
- package/AISB/image/064_aisb.t3.064_pir.jpg +0 -0
- package/AISB/image/065_aisb.t3.065_proteinbinding.jpg +0 -0
- package/AISB/image/066_aisb.t3.066_tropicalattention.jpg +0 -0
- package/AISB/image/067_aisb.t3.067_kanad.jpg +0 -0
- package/AISB/image/068_aisb.t3.068_sempo.jpg +0 -0
- package/AISB/image/069_aisb.t3.069_treehfd.jpg +0 -0
- package/AISB/image/070_aisb.t3.070_certifiedunlearning.jpg +0 -0
- package/AISB/image/071_aisb.t3.071_neuralmjd.jpg +0 -0
- package/AISB/image/072_aisb.t3.072_fedgmt.jpg +0 -0
- package/AISB/image/073_aisb.t3.073_rld.jpg +0 -0
- package/AISB/image/074_aisb.t3.074_lsvi.jpg +0 -0
- package/AISB/image/075_aisb.t3.075_treeslicedentropy.jpg +0 -0
- package/AISB/image/076_aisb.t3.076_aanet.jpg +0 -0
- package/AISB/image/077_aisb.t3.077_cmnn.jpg +0 -0
- package/AISB/image/078_aisb.t3.078_conformalanomaly.jpg +0 -0
- package/AISB/image/079_aisb.t3.079_dpfkmeans.jpg +0 -0
- package/AISB/image/080_aisb.t3.080_latentscorereweight.jpg +0 -0
- package/AISB/image/081_aisb.t3.081_qmamba.jpg +0 -0
- package/AISB/image/082_aisb.t3.082_onlinellmrouting.jpg +0 -0
- package/AISB/image/083_aisb.t3.083_starformer.jpg +0 -0
- package/AISB/image/084_aisb.t3.084_ift.jpg +0 -0
- package/AISB/image/085_aisb.t3.085_neuralsurv.jpg +0 -0
- package/AISB/image/086_aisb.t3.086_stella.jpg +0 -0
- package/AISB/image/087_aisb.t3.087_moses.jpg +0 -0
- package/AISB/image/088_aisb.t3.088_channelnorm.jpg +0 -0
- package/AISB/image/089_aisb.t3.089_causalvelocity.jpg +0 -0
- package/AISB/image/090_aisb.t3.090_rstib.jpg +0 -0
- package/AISB/image/091_aisb.t3.091_timeawarecausal.jpg +0 -0
- package/AISB/image/092_aisb.t3.092_kmeanslocalopt.jpg +0 -0
- package/AISB/image/093_aisb.t3.093_fedwmsam.jpg +0 -0
- package/AISB/image/094_aisb.t3.094_boundre.jpg +0 -0
- package/AISB/image/095_aisb.t3.095_fastfeaturecp.jpg +0 -0
- package/AISB/image/096_aisb.t3.096_m3svm.jpg +0 -0
- package/AISB/image/097_aisb.t3.097_wassersteintl.jpg +0 -0
- package/AISB/image/098_aisb.t3.098_xmahalanobis.jpg +0 -0
- package/AISB/image/099_aisb.t3.099_ollalanding.jpg +0 -0
- package/AISB/image/100_aisb.t3.100_invmissingdata.jpg +0 -0
- package/AISB/image/101_aisb.t3.101_acia.jpg +0 -0
- package/AISB/image/102_aisb.t3.102_stochasticff.jpg +0 -0
- package/AISB/image/103_aisb.t3.103_qdcp.jpg +0 -0
- package/AISB/image/104_aisb.t3.104_balancedactiveinf.jpg +0 -0
- package/AISB/image/105_aisb.t3.105_binaryclasseval.jpg +0 -0
- package/AISB/image/106_aisb.t1.reasoning_lite.jpg +0 -0
- package/AISB/image/107_aisb.t2.paper_audit.jpg +0 -0
- package/AISB/image/108_aisb.t3.multi_gpu_search.jpg +0 -0
- package/AISB/image/109_aisb.t3.tdc_admet.jpg +0 -0
- package/AISB/image/aisb.b1.agentic_coding.svg +16 -0
- package/AISB/image/aisb.b10.climate_earth.svg +16 -0
- package/AISB/image/aisb.b11.model_efficiency.svg +16 -0
- package/AISB/image/aisb.b12.embodied_ai.svg +16 -0
- package/AISB/image/aisb.b2.agent_systems.svg +16 -0
- package/AISB/image/aisb.b3.self_evolving_rl.svg +16 -0
- package/AISB/image/aisb.b4.lm_reasoning.svg +16 -0
- package/AISB/image/aisb.b5.math_proof.svg +16 -0
- package/AISB/image/aisb.b6.research_process.svg +16 -0
- package/AISB/image/aisb.b7.multimodal_fusion.svg +16 -0
- package/AISB/image/aisb.b8.lifesci_drug.svg +16 -0
- package/AISB/image/aisb.b9.material_science.svg +16 -0
- package/README.md +196 -32
- package/bin/ds.js +924 -66
- package/docs/en/00_QUICK_START.md +195 -18
- package/docs/en/01_SETTINGS_REFERENCE.md +468 -96
- package/docs/en/02_START_RESEARCH_GUIDE.md +26 -5
- package/docs/en/03_QQ_CONNECTOR_GUIDE.md +14 -3
- package/docs/en/04_LINGZHU_CONNECTOR_GUIDE.md +2 -0
- package/docs/en/05_TUI_GUIDE.md +171 -2
- package/docs/en/07_MEMORY_AND_MCP.md +38 -2
- package/docs/en/09_DOCTOR.md +78 -7
- package/docs/en/10_WEIXIN_CONNECTOR_GUIDE.md +38 -1
- package/docs/en/11_LICENSE_AND_RISK.md +4 -0
- package/docs/en/12_GUIDED_WORKFLOW_TOUR.md +15 -0
- package/docs/en/14_PROMPT_SKILLS_AND_MCP_GUIDE.md +9 -0
- package/docs/en/15_CODEX_PROVIDER_SETUP.md +624 -180
- package/docs/en/16_TELEGRAM_CONNECTOR_GUIDE.md +14 -0
- package/docs/en/17_WHATSAPP_CONNECTOR_GUIDE.md +14 -0
- package/docs/en/18_FEISHU_CONNECTOR_GUIDE.md +14 -0
- package/docs/en/21_LOCAL_MODEL_BACKENDS_GUIDE.md +386 -0
- package/docs/en/22_BENCHSTORE_YAML_REFERENCE.md +469 -0
- package/docs/en/23_BENCHSTORE_GITHUB_RELEASES_SPEC.md +316 -0
- package/docs/en/24_CLAUDE_CODE_PROVIDER_SETUP.md +469 -0
- package/docs/en/25_OPENCODE_PROVIDER_SETUP.md +653 -0
- package/docs/en/26_CITATION_AND_ATTRIBUTION.md +119 -0
- package/docs/en/27_KIMI_CODE_PROVIDER_SETUP.md +180 -0
- package/docs/en/28_DISCORD_CONNECTOR_GUIDE.md +61 -0
- package/docs/en/29_SLACK_CONNECTOR_GUIDE.md +60 -0
- package/docs/en/30_SETTINGS_CONTROL_CENTER_GUIDE.md +371 -0
- package/docs/en/{19_LOCAL_BROWSER_AUTH.md → 31_LOCAL_BROWSER_AUTH.md} +1 -1
- package/docs/en/32_WINDOWS_WSL2_DEPLOYMENT_GUIDE.md +273 -0
- package/docs/en/33_WORKSPACE_EXPLORER_QA.md +121 -0
- package/docs/en/91_DEVELOPMENT.md +266 -0
- package/docs/en/99_ACKNOWLEDGEMENTS.md +24 -19
- package/docs/en/README.md +48 -7
- package/docs/images/admin/admin-connectors-health-en.png +0 -0
- package/docs/images/admin/admin-controllers-en.png +0 -0
- package/docs/images/admin/admin-diagnostics-en.png +0 -0
- package/docs/images/admin/admin-errors-en.png +0 -0
- package/docs/images/admin/admin-issues-en.png +0 -0
- package/docs/images/admin/admin-logs-en.png +0 -0
- package/docs/images/admin/admin-quest-detail-en.png +0 -0
- package/docs/images/admin/admin-quests-en.png +0 -0
- package/docs/images/admin/admin-repairs-en.png +0 -0
- package/docs/images/admin/admin-runtime-en.png +0 -0
- package/docs/images/admin/admin-search-en.png +0 -0
- package/docs/images/admin/admin-stats-en.png +0 -0
- package/docs/images/admin/admin-summary-en.png +0 -0
- package/docs/images/connectors/connector-discord-en.png +0 -0
- package/docs/images/connectors/connector-feishu-en.png +0 -0
- package/docs/images/connectors/connector-lingzhu-en.png +0 -0
- package/docs/images/connectors/connector-qq-en.png +0 -0
- package/docs/images/connectors/connector-slack-en.png +0 -0
- package/docs/images/connectors/connector-telegram-en.png +0 -0
- package/docs/images/connectors/connector-weixin-en.png +0 -0
- package/docs/images/connectors/connector-whatsapp-en.png +0 -0
- package/docs/images/settings/settings-baselines-en.png +0 -0
- package/docs/images/settings/settings-config-en.png +0 -0
- package/docs/images/settings/settings-connectors-overview-en.png +0 -0
- package/docs/images/settings/settings-deepxiv-en.png +0 -0
- package/docs/images/settings/settings-mcp-servers-en.png +0 -0
- package/docs/images/settings/settings-plugins-en.png +0 -0
- package/docs/images/settings/settings-runners-en.png +0 -0
- package/docs/zh/00_QUICK_START.md +142 -18
- package/docs/zh/01_SETTINGS_REFERENCE.md +219 -98
- package/docs/zh/02_START_RESEARCH_GUIDE.md +26 -5
- package/docs/zh/05_TUI_GUIDE.md +171 -2
- package/docs/zh/07_MEMORY_AND_MCP.md +29 -2
- package/docs/zh/09_DOCTOR.md +54 -8
- package/docs/zh/10_WEIXIN_CONNECTOR_GUIDE.md +24 -1
- package/docs/zh/11_LICENSE_AND_RISK.md +4 -0
- package/docs/zh/12_GUIDED_WORKFLOW_TOUR.md +15 -0
- package/docs/zh/14_PROMPT_SKILLS_AND_MCP_GUIDE.md +9 -0
- package/docs/zh/15_CODEX_PROVIDER_SETUP.md +552 -181
- package/docs/zh/21_LOCAL_MODEL_BACKENDS_GUIDE.md +384 -0
- package/docs/zh/22_BENCHSTORE_YAML_REFERENCE.md +459 -0
- package/docs/zh/23_BENCHSTORE_GITHUB_RELEASES_SPEC.md +287 -0
- package/docs/zh/23_CLAUDE_RUNNER_GUIDE.md +103 -0
- package/docs/zh/24_CLAUDE_CODE_PROVIDER_SETUP.md +460 -0
- package/docs/zh/25_OPENCODE_PROVIDER_SETUP.md +660 -0
- package/docs/zh/26_CITATION_AND_ATTRIBUTION.md +102 -0
- package/docs/zh/27_KIMI_CODE_PROVIDER_SETUP.md +51 -0
- package/docs/zh/{19_LOCAL_BROWSER_AUTH.md → 31_LOCAL_BROWSER_AUTH.md} +1 -1
- package/docs/zh/32_WINDOWS_WSL2_DEPLOYMENT_GUIDE.md +264 -0
- package/docs/zh/33_WORKSPACE_EXPLORER_QA.md +127 -0
- package/docs/zh/99_ACKNOWLEDGEMENTS.md +23 -19
- package/docs/zh/README.md +33 -7
- package/install.sh +168 -20
- package/package.json +5 -1
- package/pyproject.toml +2 -1
- package/src/deepscientist/__init__.py +1 -1
- package/src/deepscientist/acp/envelope.py +13 -0
- package/src/deepscientist/admin/__init__.py +3 -0
- package/src/deepscientist/admin/charts.py +681 -0
- package/src/deepscientist/admin/logs.py +119 -0
- package/src/deepscientist/admin/repairs.py +217 -0
- package/src/deepscientist/admin/service.py +1310 -0
- package/src/deepscientist/admin/system_info.py +700 -0
- package/src/deepscientist/admin/tasks.py +465 -0
- package/src/deepscientist/admin/tool_metrics.py +600 -0
- package/src/deepscientist/artifact/guidance.py +8 -4
- package/src/deepscientist/artifact/schemas.py +115 -0
- package/src/deepscientist/artifact/service.py +4268 -260
- package/src/deepscientist/bash_exec/monitor.py +30 -3
- package/src/deepscientist/bash_exec/service.py +134 -1
- package/src/deepscientist/benchstore/__init__.py +4 -0
- package/src/deepscientist/benchstore/prompt_builder.py +224 -0
- package/src/deepscientist/benchstore/service.py +1716 -0
- package/src/deepscientist/bridges/connectors.py +8 -2
- package/src/deepscientist/channels/weixin_ilink.py +8 -1
- package/src/deepscientist/cli.py +92 -17
- package/src/deepscientist/codex_cli_compat.py +187 -74
- package/src/deepscientist/config/models.py +82 -11
- package/src/deepscientist/config/service.py +1077 -93
- package/src/deepscientist/connector/weixin_support.py +48 -17
- package/src/deepscientist/daemon/api/handlers.py +827 -235
- package/src/deepscientist/daemon/api/router.py +81 -1
- package/src/deepscientist/daemon/app.py +1512 -85
- package/src/deepscientist/diagnostics/__init__.py +6 -0
- package/src/deepscientist/diagnostics/runner_failures.py +277 -0
- package/src/deepscientist/doctor.py +407 -56
- package/src/deepscientist/evidence_packets.py +590 -0
- package/src/deepscientist/home.py +52 -4
- package/src/deepscientist/kimi_cli_compat.py +50 -0
- package/src/deepscientist/latex_runtime.py +2 -2
- package/src/deepscientist/mcp/context.py +2 -0
- package/src/deepscientist/mcp/schemas.py +114 -0
- package/src/deepscientist/mcp/server.py +1566 -126
- package/src/deepscientist/memory/service.py +203 -16
- package/src/deepscientist/process_control.py +8 -1
- package/src/deepscientist/prompts/builder.py +850 -88
- package/src/deepscientist/quest/__init__.py +2 -2
- package/src/deepscientist/quest/layout.py +12 -1
- package/src/deepscientist/quest/node_traces.py +10 -0
- package/src/deepscientist/quest/service.py +1852 -161
- package/src/deepscientist/quest/stage_views.py +1 -1
- package/src/deepscientist/runners/__init__.py +18 -0
- package/src/deepscientist/runners/base.py +89 -1
- package/src/deepscientist/runners/builtins.py +13 -1
- package/src/deepscientist/runners/claude.py +391 -0
- package/src/deepscientist/runners/codex.py +480 -35
- package/src/deepscientist/runners/codex_telemetry.py +127 -0
- package/src/deepscientist/runners/kimi.py +334 -0
- package/src/deepscientist/runners/metadata.py +68 -0
- package/src/deepscientist/runners/opencode.py +414 -0
- package/src/deepscientist/runners/runtime_overrides.py +100 -0
- package/src/deepscientist/runners/simple_cli.py +538 -0
- package/src/deepscientist/runtime_storage.py +303 -0
- package/src/deepscientist/shared.py +80 -16
- package/src/deepscientist/skills/installer.py +37 -0
- package/src/deepscientist/skills/registry.py +2 -0
- package/src/deepscientist/tinytex.py +2 -2
- package/src/deepscientist/tui.py +10 -3
- package/src/prompts/benchstore/system.md +77 -0
- package/src/prompts/connectors/qq.md +33 -2
- package/src/prompts/connectors/weixin.md +208 -23
- package/src/prompts/contracts/admin_ops.md +74 -0
- package/src/prompts/contracts/admin_ops_knowledge.md +138 -0
- package/src/prompts/contracts/shared_interaction.md +5 -10
- package/src/prompts/start_setup/system.md +422 -0
- package/src/prompts/system.md +411 -304
- package/src/prompts/system_copilot.md +89 -0
- package/src/skills/analysis-campaign/SKILL.md +239 -578
- package/src/skills/analysis-campaign/references/artifact-flow-examples.md +102 -0
- package/src/skills/analysis-campaign/references/boundary-cases.md +98 -0
- package/src/skills/analysis-campaign/references/campaign-checklist-template.md +39 -24
- package/src/skills/analysis-campaign/references/campaign-design.md +26 -10
- package/src/skills/analysis-campaign/references/campaign-plan-template.md +53 -54
- package/src/skills/analysis-campaign/references/operational-guidance.md +97 -0
- package/src/skills/analysis-campaign/references/writing-facing-slice-examples.md +10 -20
- package/src/skills/baseline/SKILL.md +183 -461
- package/src/skills/baseline/references/artifact-flow-examples.md +106 -0
- package/src/skills/baseline/references/artifact-payload-examples.md +1 -1
- package/src/skills/baseline/references/baseline-checklist-template.md +27 -35
- package/src/skills/baseline/references/baseline-plan-template.md +37 -76
- package/src/skills/baseline/references/boundary-cases.md +86 -0
- package/src/skills/baseline/references/codebase-audit-checklist.md +2 -6
- package/src/skills/baseline/references/comparability-contract.md +7 -12
- package/src/skills/baseline/references/operational-guidance.md +56 -0
- package/src/skills/baseline/references/route-selection.md +5 -25
- package/src/skills/decision/SKILL.md +113 -306
- package/src/skills/decision/references/checkpoint-memory-template.md +47 -0
- package/src/skills/decision/references/operational-guidance.md +94 -0
- package/src/skills/decision/references/research-route-criteria.md +7 -8
- package/src/skills/decision/references/strategic-decision-template.md +13 -26
- package/src/skills/experiment/SKILL.md +132 -670
- package/src/skills/experiment/references/execution-playbook.md +374 -0
- package/src/skills/experiment/references/main-experiment-checklist-template.md +26 -2
- package/src/skills/experiment/references/main-experiment-plan-template.md +28 -17
- package/src/skills/experiment/references/operational-guidance.md +108 -0
- package/src/skills/finalize/SKILL.md +62 -0
- package/src/skills/finalize/references/checkpoint-memory-template.md +49 -0
- package/src/skills/finalize/references/resume-packet-template.md +7 -0
- package/src/skills/idea/SKILL.md +228 -15
- package/src/skills/idea/references/controlled-brainstorming-playbook.md +78 -0
- package/src/skills/idea/references/current-board-packet-template.md +61 -0
- package/src/skills/idea/references/high-value-idea-sourcing.md +119 -0
- package/src/skills/idea/references/idea-generation-playbook.md +21 -0
- package/src/skills/idea/references/idea-thinking-flow.md +6 -0
- package/src/skills/idea/references/literature-survey-template.md +3 -0
- package/src/skills/idea/references/objective-contract-template.md +54 -0
- package/src/skills/idea/references/outline-seeding-example.md +56 -0
- package/src/skills/idea/references/pre-idea-draft-template.md +105 -0
- package/src/skills/idea/references/related-work-playbook.md +75 -2
- package/src/skills/idea/references/research-history-playbook.md +114 -0
- package/src/skills/idea/references/selection-gate.md +58 -6
- package/src/skills/intake-audit/SKILL.md +43 -2
- package/src/skills/intake-audit/references/state-audit-template.md +10 -0
- package/src/skills/nature-data/SKILL.md +128 -0
- package/src/skills/nature-data/UPSTREAM_LICENSE.txt +21 -0
- package/src/skills/nature-data/agents/openai.yaml +4 -0
- package/src/skills/nature-data/references/chinese-author-alignment.md +84 -0
- package/src/skills/nature-data/references/fair-metadata-checklist.md +105 -0
- package/src/skills/nature-data/references/policy-principles.md +103 -0
- package/src/skills/nature-data/references/repository-and-identifiers.md +96 -0
- package/src/skills/nature-data/references/source-basis.md +54 -0
- package/src/skills/nature-data/references/statement-patterns.md +153 -0
- package/src/skills/nature-figure/SKILL.md +197 -0
- package/src/skills/nature-figure/UPSTREAM_LICENSE.txt +21 -0
- package/src/skills/nature-figure/agents/openai.yaml +4 -0
- package/src/skills/nature-figure/evals/evals.json +37 -0
- package/src/skills/nature-figure/references/api.md +428 -0
- package/src/skills/nature-figure/references/backend-selection.md +100 -0
- package/src/skills/nature-figure/references/chart-types.md +281 -0
- package/src/skills/nature-figure/references/common-patterns.md +349 -0
- package/src/skills/nature-figure/references/design-theory.md +436 -0
- package/src/skills/nature-figure/references/figure-contract.md +93 -0
- package/src/skills/nature-figure/references/nature-2026-observations.md +112 -0
- package/src/skills/nature-figure/references/qa-contract.md +119 -0
- package/src/skills/nature-figure/references/r-template-index.md +66 -0
- package/src/skills/nature-figure/references/r-workflow.md +161 -0
- package/src/skills/nature-figure/references/tutorials.md +250 -0
- package/src/skills/nature-paper2ppt/SKILL.md +507 -0
- package/src/skills/nature-paper2ppt/UPSTREAM_LICENSE.txt +21 -0
- package/src/skills/nature-paper2ppt/agents/openai.yaml +4 -0
- package/src/skills/nature-polishing/SKILL.md +385 -0
- package/src/skills/nature-polishing/UPSTREAM_LICENSE.txt +21 -0
- package/src/skills/nature-polishing/agents/openai.yaml +4 -0
- package/src/skills/nature-polishing/references/phrasebank-playbook.md +162 -0
- package/src/skills/nature-polishing/references/section-moves.md +240 -0
- package/src/skills/nature-polishing/references/style-guardrails.md +94 -0
- package/src/skills/nature-polishing/references/writing-strategy.md +148 -0
- package/src/skills/optimize/SKILL.md +177 -1568
- package/src/skills/optimize/references/brief-shaping-playbook.md +95 -0
- package/src/skills/optimize/references/candidate-board-template.md +13 -0
- package/src/skills/optimize/references/candidate-ranking-template.md +51 -0
- package/src/skills/optimize/references/codegen-route-playbook.md +50 -0
- package/src/skills/optimize/references/debug-response-template.md +29 -0
- package/src/skills/optimize/references/frontier-review-template.md +32 -0
- package/src/skills/optimize/references/fusion-playbook.md +36 -0
- package/src/skills/optimize/references/method-brief-template.md +73 -0
- package/src/skills/optimize/references/operational-guidance.md +621 -0
- package/src/skills/optimize/references/optimization-memory-template.md +30 -0
- package/src/skills/optimize/references/optimize-checklist-template.md +18 -0
- package/src/skills/optimize/references/plateau-response-playbook.md +28 -0
- package/src/skills/optimize/references/prompt-patterns.md +49 -0
- package/src/skills/paper-outline/SKILL.md +227 -0
- package/src/skills/paper-outline/references/outline-patterns.md +87 -0
- package/src/skills/paper-plot/SKILL.md +79 -0
- package/src/skills/paper-plot/agents/openai.yaml +4 -0
- package/src/skills/paper-plot/references/bar_grouped_hatch.md +96 -0
- package/src/skills/paper-plot/references/bar_paired_delta.md +72 -0
- package/src/skills/paper-plot/references/line_confidence_band.md +75 -0
- package/src/skills/paper-plot/references/line_loss_with_inset.md +65 -0
- package/src/skills/paper-plot/references/line_training_curve.md +44 -0
- package/src/skills/paper-plot/references/radar_dual_series.md +59 -0
- package/src/skills/paper-plot/references/scatter_broken_axis.md +59 -0
- package/src/skills/paper-plot/references/scatter_tsne_cluster.md +72 -0
- package/src/skills/paper-plot/scripts/bar_memevolve.py +109 -0
- package/src/skills/paper-plot/scripts/bar_spice.py +166 -0
- package/src/skills/paper-plot/scripts/line_aime.py +94 -0
- package/src/skills/paper-plot/scripts/line_loss_inset.py +157 -0
- package/src/skills/paper-plot/scripts/line_selfdistill.py +168 -0
- package/src/skills/paper-plot/scripts/radar_dora.py +151 -0
- package/src/skills/paper-plot/scripts/scatter_break.py +169 -0
- package/src/skills/paper-plot/scripts/scatter_tsne.py +133 -0
- package/src/skills/rebuttal/SKILL.md +9 -0
- package/src/skills/references/tool-usage-by-stage.md +438 -0
- package/src/skills/review/SKILL.md +105 -7
- package/src/skills/science/PROVENANCE.md +44 -0
- package/src/skills/science/SKILL.md +137 -0
- package/src/skills/science/references/artifact-science-tool.md +110 -0
- package/src/skills/science/references/claim-type-discipline.md +56 -0
- package/src/skills/science/references/domain-index.md +422 -0
- package/src/skills/science/references/hpc-via-bash-exec.md +42 -0
- package/src/skills/science/references/package-check-playbook.md +64 -0
- package/src/skills/science/references/package-index.min.json +3616 -0
- package/src/skills/science/references/packages/abinit.md +80 -0
- package/src/skills/science/references/packages/acts.md +73 -0
- package/src/skills/science/references/packages/aiida-core.md +80 -0
- package/src/skills/science/references/packages/alamode.md +80 -0
- package/src/skills/science/references/packages/amuse.md +88 -0
- package/src/skills/science/references/packages/anndata.md +88 -0
- package/src/skills/science/references/packages/arbor.md +80 -0
- package/src/skills/science/references/packages/arc.md +73 -0
- package/src/skills/science/references/packages/astropy.md +88 -0
- package/src/skills/science/references/packages/astroquery.md +88 -0
- package/src/skills/science/references/packages/atomate2.md +80 -0
- package/src/skills/science/references/packages/atomsmltr.md +73 -0
- package/src/skills/science/references/packages/awkward.md +73 -0
- package/src/skills/science/references/packages/batman.md +88 -0
- package/src/skills/science/references/packages/biopython.md +88 -0
- package/src/skills/science/references/packages/bloqade.md +73 -0
- package/src/skills/science/references/packages/brian2.md +73 -0
- package/src/skills/science/references/packages/bullet3.md +73 -0
- package/src/skills/science/references/packages/calculix.md +80 -0
- package/src/skills/science/references/packages/cantera.md +73 -0
- package/src/skills/science/references/packages/cavity-md-ipi.md +80 -0
- package/src/skills/science/references/packages/ccdproc.md +88 -0
- package/src/skills/science/references/packages/celerite2.md +88 -0
- package/src/skills/science/references/packages/cellrank.md +73 -0
- package/src/skills/science/references/packages/cesm.md +80 -0
- package/src/skills/science/references/packages/chemicals.md +73 -0
- package/src/skills/science/references/packages/chempy.md +73 -0
- package/src/skills/science/references/packages/cirq.md +73 -0
- package/src/skills/science/references/packages/coffea.md +73 -0
- package/src/skills/science/references/packages/cp2k.md +88 -0
- package/src/skills/science/references/packages/custodian.md +80 -0
- package/src/skills/science/references/packages/dart.md +73 -0
- package/src/skills/science/references/packages/datamol.md +88 -0
- package/src/skills/science/references/packages/dd4hep.md +73 -0
- package/src/skills/science/references/packages/dealii.md +80 -0
- package/src/skills/science/references/packages/deepchem.md +88 -0
- package/src/skills/science/references/packages/delphes.md +73 -0
- package/src/skills/science/references/packages/devito.md +80 -0
- package/src/skills/science/references/packages/dftb.md +88 -0
- package/src/skills/science/references/packages/dftd4.md +88 -0
- package/src/skills/science/references/packages/dftk-jl.md +80 -0
- package/src/skills/science/references/packages/dolfinx.md +80 -0
- package/src/skills/science/references/packages/drake.md +73 -0
- package/src/skills/science/references/packages/dumux.md +73 -0
- package/src/skills/science/references/packages/elk.md +80 -0
- package/src/skills/science/references/packages/elmerfem.md +80 -0
- package/src/skills/science/references/packages/enzo-e.md +88 -0
- package/src/skills/science/references/packages/espresso.md +80 -0
- package/src/skills/science/references/packages/exoplanet.md +88 -0
- package/src/skills/science/references/packages/fairroot.md +73 -0
- package/src/skills/science/references/packages/fbpic.md +80 -0
- package/src/skills/science/references/packages/fdtdbath-meep.md +80 -0
- package/src/skills/science/references/packages/geant4.md +73 -0
- package/src/skills/science/references/packages/geosx.md +80 -0
- package/src/skills/science/references/packages/gprmax.md +80 -0
- package/src/skills/science/references/packages/gromacs.md +80 -0
- package/src/skills/science/references/packages/gwaslab.md +73 -0
- package/src/skills/science/references/packages/gz-sim.md +73 -0
- package/src/skills/science/references/packages/hail.md +88 -0
- package/src/skills/science/references/packages/hiphive.md +80 -0
- package/src/skills/science/references/packages/hoomd-blue.md +80 -0
- package/src/skills/science/references/packages/itensor.md +73 -0
- package/src/skills/science/references/packages/itensors-jl.md +73 -0
- package/src/skills/science/references/packages/jdftx.md +73 -0
- package/src/skills/science/references/packages/jobflow.md +80 -0
- package/src/skills/science/references/packages/kadanoffbaym-jl.md +73 -0
- package/src/skills/science/references/packages/kite.md +80 -0
- package/src/skills/science/references/packages/kratos.md +80 -0
- package/src/skills/science/references/packages/kwant.md +73 -0
- package/src/skills/science/references/packages/lammps.md +80 -0
- package/src/skills/science/references/packages/lightkurve.md +88 -0
- package/src/skills/science/references/packages/limix.md +73 -0
- package/src/skills/science/references/packages/maxwelllink.md +80 -0
- package/src/skills/science/references/packages/mcdc.md +73 -0
- package/src/skills/science/references/packages/meep.md +80 -0
- package/src/skills/science/references/packages/mfem.md +80 -0
- package/src/skills/science/references/packages/mitgcm.md +73 -0
- package/src/skills/science/references/packages/modflow6.md +73 -0
- package/src/skills/science/references/packages/molecool.md +73 -0
- package/src/skills/science/references/packages/mom6.md +73 -0
- package/src/skills/science/references/packages/moose.md +80 -0
- package/src/skills/science/references/packages/mpas-model.md +73 -0
- package/src/skills/science/references/packages/mujoco.md +73 -0
- package/src/skills/science/references/packages/mumax3.md +73 -0
- package/src/skills/science/references/packages/nekrs.md +80 -0
- package/src/skills/science/references/packages/nessi.md +73 -0
- package/src/skills/science/references/packages/nest-simulator.md +73 -0
- package/src/skills/science/references/packages/netket.md +73 -0
- package/src/skills/science/references/packages/neuron.md +73 -0
- package/src/skills/science/references/packages/nextflow.md +88 -0
- package/src/skills/science/references/packages/nwchem.md +88 -0
- package/src/skills/science/references/packages/openbabel.md +88 -0
- package/src/skills/science/references/packages/openems.md +80 -0
- package/src/skills/science/references/packages/openff-toolkit.md +88 -0
- package/src/skills/science/references/packages/openfoam-dev.md +80 -0
- package/src/skills/science/references/packages/openmc.md +73 -0
- package/src/skills/science/references/packages/openmm.md +80 -0
- package/src/skills/science/references/packages/openmoc.md +73 -0
- package/src/skills/science/references/packages/openmx.md +80 -0
- package/src/skills/science/references/packages/opensees.md +80 -0
- package/src/skills/science/references/packages/opensn.md +80 -0
- package/src/skills/science/references/packages/opm-simulators.md +73 -0
- package/src/skills/science/references/packages/oqupy.md +73 -0
- package/src/skills/science/references/packages/packmol.md +80 -0
- package/src/skills/science/references/packages/palabos.md +80 -0
- package/src/skills/science/references/packages/parflow.md +80 -0
- package/src/skills/science/references/packages/pennylane.md +88 -0
- package/src/skills/science/references/packages/perceval.md +73 -0
- package/src/skills/science/references/packages/phono3py.md +73 -0
- package/src/skills/science/references/packages/phonopy.md +73 -0
- package/src/skills/science/references/packages/photutils.md +88 -0
- package/src/skills/science/references/packages/picongpu.md +80 -0
- package/src/skills/science/references/packages/plink-ng.md +88 -0
- package/src/skills/science/references/packages/precice.md +73 -0
- package/src/skills/science/references/packages/psc.md +80 -0
- package/src/skills/science/references/packages/psi4.md +88 -0
- package/src/skills/science/references/packages/pybinding.md +73 -0
- package/src/skills/science/references/packages/pyfr.md +80 -0
- package/src/skills/science/references/packages/pyhf.md +73 -0
- package/src/skills/science/references/packages/pyiron_base.md +80 -0
- package/src/skills/science/references/packages/pylcp.md +73 -0
- package/src/skills/science/references/packages/pylith.md +80 -0
- package/src/skills/science/references/packages/pynbody.md +88 -0
- package/src/skills/science/references/packages/pysam.md +88 -0
- package/src/skills/science/references/packages/pyscf.md +88 -0
- package/src/skills/science/references/packages/q-e.md +73 -0
- package/src/skills/science/references/packages/qibo.md +73 -0
- package/src/skills/science/references/packages/qiskit.md +73 -0
- package/src/skills/science/references/packages/quantica-jl.md +73 -0
- package/src/skills/science/references/packages/quantumoptics-jl.md +73 -0
- package/src/skills/science/references/packages/quimb.md +73 -0
- package/src/skills/science/references/packages/qulacs.md +73 -0
- package/src/skills/science/references/packages/qutip.md +73 -0
- package/src/skills/science/references/packages/rdkit.md +88 -0
- package/src/skills/science/references/packages/rmg-py.md +73 -0
- package/src/skills/science/references/packages/root.md +73 -0
- package/src/skills/science/references/packages/scanpy.md +88 -0
- package/src/skills/science/references/packages/scikit-allel.md +88 -0
- package/src/skills/science/references/packages/scikit-bio.md +88 -0
- package/src/skills/science/references/packages/scqubits.md +73 -0
- package/src/skills/science/references/packages/scuff-em.md +80 -0
- package/src/skills/science/references/packages/scvi-tools.md +73 -0
- package/src/skills/science/references/packages/seissol.md +73 -0
- package/src/skills/science/references/packages/sfepy.md +80 -0
- package/src/skills/science/references/packages/sisl.md +73 -0
- package/src/skills/science/references/packages/smilei.md +80 -0
- package/src/skills/science/references/packages/snakemake.md +88 -0
- package/src/skills/science/references/packages/specfem3d-globe.md +80 -0
- package/src/skills/science/references/packages/specutils.md +88 -0
- package/src/skills/science/references/packages/spglib.md +80 -0
- package/src/skills/science/references/packages/squidpy.md +88 -0
- package/src/skills/science/references/packages/starry.md +88 -0
- package/src/skills/science/references/packages/strawberryfields.md +73 -0
- package/src/skills/science/references/packages/su2.md +80 -0
- package/src/skills/science/references/packages/sunny-jl.md +73 -0
- package/src/skills/science/references/packages/sw4.md +73 -0
- package/src/skills/science/references/packages/swift.md +88 -0
- package/src/skills/science/references/packages/tdnegf.md +73 -0
- package/src/skills/science/references/packages/tenpy.md +73 -0
- package/src/skills/science/references/packages/thermo.md +73 -0
- package/src/skills/science/references/packages/tkwant.md +73 -0
- package/src/skills/science/references/packages/tvb-root.md +73 -0
- package/src/skills/science/references/packages/uproot5.md +73 -0
- package/src/skills/science/references/packages/vampire.md +80 -0
- package/src/skills/science/references/packages/wannier_tools.md +73 -0
- package/src/skills/science/references/packages/warpx.md +80 -0
- package/src/skills/science/references/packages/wrf.md +73 -0
- package/src/skills/science/references/packages/xtb.md +88 -0
- package/src/skills/science/references/packages/yt.md +73 -0
- package/src/skills/science/references/science-task-brief-template.md +71 -0
- package/src/skills/scout/SKILL.md +83 -425
- package/src/skills/scout/references/literature-scout-template.md +5 -24
- package/src/skills/scout/references/operational-guidance.md +191 -0
- package/src/skills/scout/references/paper-triage-playbook.md +11 -35
- package/src/skills/write/SKILL.md +744 -1246
- package/src/skills/write/references/experiments_analysis_patterns.md +129 -0
- package/src/skills/write/references/oral_package_patterns.md +252 -0
- package/src/skills/write/references/oral_writing_principles.md +291 -0
- package/src/skills/write/references/section_rewrite_checklist.md +234 -0
- package/src/tui/dist/app/AppContainer.js +1314 -27
- package/src/tui/dist/components/Composer.js +26 -1
- package/src/tui/dist/components/ConfigScreen.js +2 -1
- package/src/tui/dist/components/InputPrompt.js +25 -9
- package/src/tui/dist/components/MainContent.js +18 -3
- package/src/tui/dist/components/QuestScreen.js +3 -2
- package/src/tui/dist/components/UtilityScreen.js +37 -0
- package/src/tui/dist/hooks/useSafeInput.js +10 -0
- package/src/tui/dist/index.js +13 -1
- package/src/tui/dist/layouts/DefaultAppLayout.js +11 -8
- package/src/tui/dist/lib/api.js +89 -1
- package/src/tui/package.json +1 -1
- package/src/ui/dist/assets/{AnalysisPlugin-DnSm0GZn.js → AnalysisPlugin-CA94NGmI.js} +1 -1
- package/src/ui/dist/assets/CliPlugin-DHBzphZU.js +79 -0
- package/src/ui/dist/assets/CodeEditorPlugin-BOFwD2rn.js +2 -0
- package/src/ui/dist/assets/{CodeViewerPlugin-itb0tltR.js → CodeViewerPlugin-CqDpgjik.js} +4 -4
- package/src/ui/dist/assets/{DocViewerPlugin-DqKkiCI6.js → DocViewerPlugin-UDBgt8-4.js} +3 -3
- package/src/ui/dist/assets/GitCommitViewerPlugin-BmHtZ0bZ.js +6 -0
- package/src/ui/dist/assets/{GitDiffViewerPlugin-DxL2ezFG.js → GitDiffViewerPlugin-CAxjNorQ.js} +2 -2
- package/src/ui/dist/assets/{GitSnapshotViewer-B_RQm1YZ.js → GitSnapshotViewer-CweA6VON.js} +2 -2
- package/src/ui/dist/assets/{ImageViewerPlugin-tHqlXY3n.js → ImageViewerPlugin-C8wHGvGN.js} +5 -5
- package/src/ui/dist/assets/LabPlugin-COyyLUol.js +32 -0
- package/src/ui/dist/assets/{LatexPlugin-B495DTXC.js → LatexPlugin-BQjAaA5J.js} +4 -4
- package/src/ui/dist/assets/{MarkdownViewerPlugin-DG28-61B.js → MarkdownViewerPlugin-Dy1NE2dI.js} +3 -3
- package/src/ui/dist/assets/{MarketplacePlugin-BiOGT-Kj.js → MarketplacePlugin-DMIZtEJ2.js} +2 -2
- package/src/ui/dist/assets/NotebookEditor-CFHMq_Qt.js +91 -0
- package/src/ui/dist/assets/{NotebookEditor-CVsj8h_T.js → NotebookEditor-WFyd8Ybt.js} +23 -23
- package/src/ui/dist/assets/{PdfLoader-CASDQmxJ.js → PdfLoader-CLE5u5TS.js} +3 -3
- package/src/ui/dist/assets/{PdfMarkdownPlugin-BFhwoKsY.js → PdfMarkdownPlugin-_iNK_H83.js} +1 -1
- package/src/ui/dist/assets/PdfViewerPlugin-DgWsbInT.js +22 -0
- package/src/ui/dist/assets/SearchPlugin-DrZmn5iw.js +11 -0
- package/src/ui/dist/assets/{TextViewerPlugin-CB4DYfWO.js → TextViewerPlugin-D1-T3aC7.js} +4 -4
- package/src/ui/dist/assets/branding/runner-claude.svg +107 -0
- package/src/ui/dist/assets/branding/runner-codex.svg +10 -0
- package/src/ui/dist/assets/branding/runner-kimi.svg +14 -0
- package/src/ui/dist/assets/branding/runner-opencode.svg +7 -0
- package/src/ui/dist/assets/cli-store-CoZ-x5Ip.js +1 -0
- package/src/ui/dist/assets/{code-DLC6G24T.js → code-DbsmSd3Y.js} +1 -1
- package/src/ui/dist/assets/file-diff-panel-DsvyRz47.js +1 -0
- package/src/ui/dist/assets/{wrap-text-CwMn-iqb.js → file-jump-queue-DeQBikaw.js} +3 -3
- package/src/ui/dist/assets/{file-socket-Cu4Qln7Y.js → file-socket-DA5XIx88.js} +1 -1
- package/src/ui/dist/assets/fonts/ds-fonts.css +50 -4
- package/src/ui/dist/assets/images/deepxiv/register-guide.png +0 -0
- package/src/ui/dist/assets/index-39vY9LmZ.js +1 -0
- package/src/ui/dist/assets/{index-wQ7RIIRd.js → index-BsO46tJA.js} +1 -1
- package/src/ui/dist/assets/index-CHzJ2xtB.js +3530 -0
- package/src/ui/dist/assets/index-DH-zxoZ3.css +33 -0
- package/src/ui/dist/assets/{plugin-notebook-HbW2K-1c.js → plugin-notebook-JRhysCqj.js} +2 -2
- package/src/ui/dist/assets/{project-sync-CsX08Qno.js → project-sync-DPmWKmKD.js} +1 -1
- package/src/ui/dist/assets/{zoom-out-R-GWEhzS.js → zoom-out-DAukFWen.js} +3 -3
- package/src/ui/dist/index.html +3 -3
- package/src/skills/analysis-campaign/references/artifact-orchestration.md +0 -58
- package/src/skills/baseline/references/memory-playbook.md +0 -40
- package/src/skills/baseline/references/publishable-baseline-package.md +0 -30
- package/src/skills/write/references/outline-evidence-contract-example.md +0 -107
- package/src/skills/write/references/paper-experiment-matrix-template.md +0 -131
- package/src/skills/write/references/paper-section-playbook.md +0 -64
- package/src/skills/write/references/reviewer-first-writing.md +0 -64
- package/src/skills/write/references/revision-checklist.md +0 -70
- package/src/skills/write/references/section-contracts.md +0 -82
- package/src/skills/write/references/sentence-level-proofing.md +0 -49
- package/src/ui/dist/assets/AiManusChatView-COFACy7V.js +0 -204
- package/src/ui/dist/assets/CliPlugin-CvwCmDQ5.js +0 -109
- package/src/ui/dist/assets/CodeEditorPlugin-cOqSa0xq.js +0 -2
- package/src/ui/dist/assets/GitCommitViewerPlugin-DVgNHBCS.js +0 -1
- package/src/ui/dist/assets/LabCopilotPanel-ClMbq5Yu.js +0 -14
- package/src/ui/dist/assets/LabPlugin-L_SuE8ow.js +0 -22
- package/src/ui/dist/assets/NotebookEditor-C-4Kt1p9.js +0 -81
- package/src/ui/dist/assets/PdfViewerPlugin-DcOzU9vd.js +0 -17
- package/src/ui/dist/assets/SearchPlugin-CHj7M58O.js +0 -16
- package/src/ui/dist/assets/VNCViewer-CjlbyCB3.js +0 -11
- package/src/ui/dist/assets/bot-CFkZY-JP.js +0 -6
- package/src/ui/dist/assets/chevron-up-Dq5ofbht.js +0 -6
- package/src/ui/dist/assets/file-content-Dv4LoZec.js +0 -1
- package/src/ui/dist/assets/file-diff-panel-Denq-lC3.js +0 -1
- package/src/ui/dist/assets/file-jump-queue-DA-SdG__.js +0 -1
- package/src/ui/dist/assets/git-commit-horizontal-BUh6G52n.js +0 -6
- package/src/ui/dist/assets/image-B9HUUddG.js +0 -6
- package/src/ui/dist/assets/index-B2B1sg-M.js +0 -1
- package/src/ui/dist/assets/index-Cgla8biy.css +0 -33
- package/src/ui/dist/assets/index-DRyx7vAc.js +0 -1
- package/src/ui/dist/assets/index-Gbl53BNp.js +0 -2496
- package/src/ui/dist/assets/pdf-effect-queue-ZtnHFCAi.js +0 -6
- package/src/ui/dist/assets/popover-DL6h35vr.js +0 -1
- package/src/ui/dist/assets/select-DvmXt1yY.js +0 -11
- package/src/ui/dist/assets/sigma-7jpXazui.js +0 -6
- package/src/ui/dist/assets/trash-xA7kFt8i.js +0 -11
- package/src/ui/dist/assets/useCliAccess-DsMwDjOp.js +0 -1
- package/src/ui/dist/assets/useFileDiffOverlay-FuhcnKiw.js +0 -1
|
@@ -0,0 +1,436 @@
|
|
|
1
|
+
# Nature Figure Design Theory
|
|
2
|
+
|
|
3
|
+
Derived from scripts in the [figures4papers](https://github.com/ChenLiu-1996/figures4papers) repository
|
|
4
|
+
(published in *Nature Machine Intelligence* and top ML/bioinformatics venues).
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1) Typography
|
|
9
|
+
|
|
10
|
+
### Font stack (priority order)
|
|
11
|
+
- **Nature standard**: `font.family = 'sans-serif'`, `font.sans-serif = ['Arial']`
|
|
12
|
+
- **Fallback stack**: `['Arial', 'Helvetica', 'DejaVu Sans', 'sans-serif']`
|
|
13
|
+
- **Helvetica** (equivalent) also appears in many scripts as `font.family = 'helvetica'`
|
|
14
|
+
- SVG/PDF editable text: always set `svg.fonttype = 'none'`
|
|
15
|
+
- LaTeX math labels: `text.usetex = True` only when LaTeX is installed
|
|
16
|
+
|
|
17
|
+
### Font size hierarchy
|
|
18
|
+
| Context | font.size | axes.linewidth |
|
|
19
|
+
|---------|-----------|---------------|
|
|
20
|
+
| Journal-final dense multi-panel figure at publication width | 7–9 | 0.8–1.2 |
|
|
21
|
+
| Large comparison bar panels (figsize > 28in wide) | 24 | 3 |
|
|
22
|
+
| Compact subfigures / analytic plots | 15–16 | 2 |
|
|
23
|
+
| Axis labels on large panels | 32–54 (override per-label) | — |
|
|
24
|
+
| In-bar annotations | 32–36 | — |
|
|
25
|
+
| Legend text on large panels | 28–38 | — |
|
|
26
|
+
| Tick labels | 20–36 | — |
|
|
27
|
+
|
|
28
|
+
When targeting the final dimensions of a two-column `Nature` figure page, start smaller than
|
|
29
|
+
slide-sized preview figures. The sampled 2026 papers routinely landed in the `7–9 pt` final-text
|
|
30
|
+
regime for dense composites.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## 2) Axes & Spines
|
|
35
|
+
|
|
36
|
+
```python
|
|
37
|
+
plt.rcParams['axes.spines.right'] = False # always off
|
|
38
|
+
plt.rcParams['axes.spines.top'] = False # always off
|
|
39
|
+
plt.rcParams['legend.frameon'] = False # frameless legends everywhere
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
- Keep only left + bottom spines — minimalist, Nature-approved.
|
|
43
|
+
- No grid lines by default; use sparse y-ticks to guide the eye.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 3) Color Palette
|
|
48
|
+
|
|
49
|
+
Semantic: blue = proposed method, green = positive variants, red/pink = baselines, neutral = reference/background.
|
|
50
|
+
For dense multi-panel figures, however, **family consistency beats maximal hue separation**.
|
|
51
|
+
|
|
52
|
+
```python
|
|
53
|
+
PALETTE = {
|
|
54
|
+
# Proposed / key method
|
|
55
|
+
"blue_main": "#0F4D92", # deep blue — hero method
|
|
56
|
+
"blue_secondary": "#3775BA", # medium blue — second author method
|
|
57
|
+
|
|
58
|
+
# Positive / improvement shades (light → dark)
|
|
59
|
+
"green_1": "#DDF3DE",
|
|
60
|
+
"green_2": "#AADCA9",
|
|
61
|
+
"green_3": "#8BCF8B",
|
|
62
|
+
|
|
63
|
+
# Baseline / contrast shades (light → dark)
|
|
64
|
+
"red_1": "#F6CFCB",
|
|
65
|
+
"red_2": "#E9A6A1",
|
|
66
|
+
"red_strong": "#B64342",
|
|
67
|
+
|
|
68
|
+
# Neutral support
|
|
69
|
+
"neutral_light": "#CFCECE",
|
|
70
|
+
"neutral_mid": "#767676",
|
|
71
|
+
"neutral_dark": "#4D4D4D",
|
|
72
|
+
"neutral_black": "#272727",
|
|
73
|
+
|
|
74
|
+
# Accent / callout (use sparingly)
|
|
75
|
+
"gold": "#FFD700",
|
|
76
|
+
"teal": "#42949E",
|
|
77
|
+
"violet": "#9A4D8E",
|
|
78
|
+
"magenta":"#EA84DD",
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
DEFAULT_COLOR_ORDER = [
|
|
82
|
+
"#0F4D92", # blue_main
|
|
83
|
+
"#8BCF8B", # green_3
|
|
84
|
+
"#B64342", # red_strong
|
|
85
|
+
"#42949E", # teal
|
|
86
|
+
"#9A4D8E", # violet
|
|
87
|
+
"#CFCECE", # neutral_light
|
|
88
|
+
]
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Unified-family rule (recommended for NMI-style pages)
|
|
92
|
+
|
|
93
|
+
Publication figures should read like **one figure**, not six unrelated plots. Prefer one cool family for
|
|
94
|
+
baselines and one lilac/rose family for the proposed method line.
|
|
95
|
+
|
|
96
|
+
```python
|
|
97
|
+
PALETTE_NMI_PASTEL = {
|
|
98
|
+
"baseline_dark": "#484878",
|
|
99
|
+
"baseline_mid": "#7884B4",
|
|
100
|
+
"baseline_soft": "#B4C0E4",
|
|
101
|
+
"ours_tiny": "#E4E4F0",
|
|
102
|
+
"ours_base": "#E4CCD8",
|
|
103
|
+
"ours_large": "#F0C0CC",
|
|
104
|
+
"delta_up": "#2E9E44",
|
|
105
|
+
"delta_down": "#E53935",
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
DEFAULT_COLOR_ORDER_NMI_PASTEL = [
|
|
109
|
+
"#484878", # baseline_dark
|
|
110
|
+
"#7884B4", # baseline_mid
|
|
111
|
+
"#B4C0E4", # baseline_soft
|
|
112
|
+
"#E4E4F0", # ours_tiny
|
|
113
|
+
"#E4CCD8", # ours_base
|
|
114
|
+
"#F0C0CC", # ours_large
|
|
115
|
+
]
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Rules:
|
|
119
|
+
1. Keep related baselines in one cool family.
|
|
120
|
+
2. Keep `Tiny / Base / Large` or sibling variants in one hero family.
|
|
121
|
+
3. Reserve green/red for arrows, gains, drops, thresholds, or signed biological direction.
|
|
122
|
+
4. Never remap the same method to a different hue family in another panel.
|
|
123
|
+
5. If in doubt, reduce saturation before adding more categories.
|
|
124
|
+
|
|
125
|
+
### Modality-specific palette discipline from sampled 2026 Nature figures
|
|
126
|
+
|
|
127
|
+
- **Imaging plates**: grayscale context + 1–2 fluorescent accent channels on black.
|
|
128
|
+
- **Schematic/material pages**: derive the palette from the physical objects in the schematic,
|
|
129
|
+
then reuse softened versions of those colors in the support plots.
|
|
130
|
+
- **Clinical composites**: dark baseline/reference series, restrained warm/cool follow-up hues,
|
|
131
|
+
pale background bands in forest plots.
|
|
132
|
+
- **Genomics / systems pages**: neutral grey scaffolds plus a small number of biologically
|
|
133
|
+
meaningful highlight families, often one red and one blue.
|
|
134
|
+
|
|
135
|
+
### Ablation alpha encoding
|
|
136
|
+
When ablating components of one method, use a **single color with varying alpha**:
|
|
137
|
+
```python
|
|
138
|
+
color = (0.215686, 0.458824, 0.729412) # blue_secondary as RGB tuple
|
|
139
|
+
alphas = np.linspace(0.2, 1.0, n_variants)
|
|
140
|
+
colors = [(color[0], color[1], color[2], a) for a in alphas]
|
|
141
|
+
# alpha=1.0 → full method, alpha=0.2 → minimal/ablated variant
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## 4) Layout and Composition
|
|
147
|
+
|
|
148
|
+
### Figure sizes
|
|
149
|
+
| Figure type | Typical figsize |
|
|
150
|
+
|-------------|----------------|
|
|
151
|
+
| Journal-width composite page / asymmetric multi-panel | (7.0–7.4, 5.5–7.8) |
|
|
152
|
+
| Multi-metric bar (3–4 metrics + legend) | (28–45, 6–12) |
|
|
153
|
+
| Compact single bar | (9–16, 5–8) |
|
|
154
|
+
| Trend / line multi-panel | (14, 4) or (9, 8) |
|
|
155
|
+
| Heatmap single | (8–20, 5–9) |
|
|
156
|
+
| Radar polar | (12, 10) |
|
|
157
|
+
| 3D / illustration multi-panel | (24, 8) |
|
|
158
|
+
|
|
159
|
+
**Rule**: Width ≈ 3–4× height for comparison bars; prevents vertical crowding and allows left-to-right narrative reading.
|
|
160
|
+
|
|
161
|
+
### Dedicated legend panel
|
|
162
|
+
For multi-axis figures, the **last subplot is legend-only**:
|
|
163
|
+
```python
|
|
164
|
+
ax_legend = fig.add_subplot(1, n+1, n+1)
|
|
165
|
+
ax_legend.legend(handles, labels, fontsize=..., loc='center', frameon=False)
|
|
166
|
+
ax_legend.set_axis_off()
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Dynamic y-axis scaling
|
|
170
|
+
Never use fixed 0–100 when values sit in a narrow band.
|
|
171
|
+
Tighten limits to data range: e.g., `ax.set_ylim([data.min() - margin, data.max() + margin])`.
|
|
172
|
+
|
|
173
|
+
### Nature page archetypes from sampled 2026 papers
|
|
174
|
+
|
|
175
|
+
`Nature` figures were not uniformly dashboard-like. They repeatedly used a few strong page
|
|
176
|
+
archetypes:
|
|
177
|
+
|
|
178
|
+
| Archetype | Layout signal | Practical rule |
|
|
179
|
+
|-----------|---------------|----------------|
|
|
180
|
+
| Schematic-led composite | One wide story panel with smaller quant panels below | Give the schematic the visual hierarchy; supporting plots should validate, not compete |
|
|
181
|
+
| Dark image plate | Repeated black tiles with fluorescent channels | Use black only inside the image plate region; keep scale bars, gutters, and channel labels high-contrast |
|
|
182
|
+
| Clinical triptych | Top longitudinal row, middle forest row, bottom summary row | Reuse the same column logic across outcomes and put the shared legend above the row |
|
|
183
|
+
| Asymmetric hero layout | One dominant circular/schematic panel plus small support plots | Let one panel span multiple grid cells; equal panel sizes are not required |
|
|
184
|
+
|
|
185
|
+
### Panel labels and gutters
|
|
186
|
+
|
|
187
|
+
- Use small bold lowercase panel letters near the top-left edge.
|
|
188
|
+
- Keep gutters tight but real; increase spacing when dark and light modalities touch.
|
|
189
|
+
- Leave extra bottom clearance when a dense caption will sit immediately below the figure.
|
|
190
|
+
- Avoid decorative panel boxes. Alignment and whitespace should carry the structure.
|
|
191
|
+
|
|
192
|
+
### Legend economy and direct labelling
|
|
193
|
+
|
|
194
|
+
- Use direct labels when regions, channels, or line identities are spatially stable.
|
|
195
|
+
- Prefer one shared legend strip above a row rather than repeating legends inside several axes.
|
|
196
|
+
- Dense categorical area plots often read better with embedded text than with a detached legend.
|
|
197
|
+
- If a legend exists, it should usually be frameless and visually quieter than the data.
|
|
198
|
+
|
|
199
|
+
### X-tick suppression
|
|
200
|
+
When bars represent methods and the legend already names them:
|
|
201
|
+
```python
|
|
202
|
+
ax.set_xticks([]) # hide x-tick labels; use legend + panel title instead
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## 5) Bar Chart Rules
|
|
208
|
+
|
|
209
|
+
### Vertical bars (comparison)
|
|
210
|
+
```python
|
|
211
|
+
bars = ax.bar(
|
|
212
|
+
x_positions,
|
|
213
|
+
values,
|
|
214
|
+
yerr=std_values,
|
|
215
|
+
capsize=5,
|
|
216
|
+
color=colors,
|
|
217
|
+
label=method_names,
|
|
218
|
+
edgecolor='black', # sharp separation
|
|
219
|
+
linewidth=1.5,
|
|
220
|
+
)
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Horizontal bars (ablation)
|
|
224
|
+
```python
|
|
225
|
+
ax.barh(
|
|
226
|
+
y_positions,
|
|
227
|
+
values,
|
|
228
|
+
xerr=std_values,
|
|
229
|
+
color=[(r, g, b, alpha) for alpha in alphas],
|
|
230
|
+
ecolor='k',
|
|
231
|
+
capsize=5,
|
|
232
|
+
)
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### In-bar value annotation
|
|
236
|
+
Print exact numbers inside or above bars at 32–36pt for readability without a grid:
|
|
237
|
+
```python
|
|
238
|
+
for bar, value in zip(bars, values):
|
|
239
|
+
luminance = compute_luminance(bar_color)
|
|
240
|
+
textcolor = 'white' if luminance < 128 else 'black'
|
|
241
|
+
ax.text(bar.get_x() + bar.get_width()/2,
|
|
242
|
+
bar.get_height() - 0.10,
|
|
243
|
+
f'{value:.2f}',
|
|
244
|
+
ha='center', va='bottom',
|
|
245
|
+
fontsize=32, color=textcolor)
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### Hatch encoding for print-safe grayscale
|
|
249
|
+
```python
|
|
250
|
+
hatches = ['/', '\\', '.', 'x', 'o']
|
|
251
|
+
for bar, hatch in zip(bars, hatches):
|
|
252
|
+
bar.set_hatch(hatch)
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Error bar styling
|
|
256
|
+
```python
|
|
257
|
+
error_kw = {
|
|
258
|
+
'elinewidth': 2,
|
|
259
|
+
'capthick': 2,
|
|
260
|
+
'capsize': 15,
|
|
261
|
+
}
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## 6) Line / Trend Plots
|
|
267
|
+
|
|
268
|
+
- Line width: 2–3pt with controlled alpha.
|
|
269
|
+
- Marker size: 8–12pt circles.
|
|
270
|
+
- For clinical or longitudinal triptychs, place one shared legend above the row rather than repeating it per axis.
|
|
271
|
+
- Fading alpha for temporal progression:
|
|
272
|
+
```python
|
|
273
|
+
from matplotlib.collections import LineCollection
|
|
274
|
+
alphas = np.linspace(0.3, 0.9, n_segments)
|
|
275
|
+
# build LineCollection with per-segment alpha
|
|
276
|
+
```
|
|
277
|
+
- `fill_between` for uncertainty bands (keep alpha low: 0.1–0.2).
|
|
278
|
+
- Reference baseline as dashed horizontal line: `ax.axhline(y=..., linestyle='--', alpha=0.3, linewidth=4)`.
|
|
279
|
+
- No grid; sparse y-ticks guide the eye.
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## 7) Heatmap Rules
|
|
284
|
+
|
|
285
|
+
```python
|
|
286
|
+
import matplotlib as mpl
|
|
287
|
+
|
|
288
|
+
# Diverging (positive/negative): use Red + Blue colormaps per column direction
|
|
289
|
+
cmap_pos = plt.cm.Reds
|
|
290
|
+
cmap_neg = plt.cm.Blues_r
|
|
291
|
+
|
|
292
|
+
# Masked NaN cells show as white
|
|
293
|
+
cmap.set_bad(color='white')
|
|
294
|
+
|
|
295
|
+
# Normalize per column
|
|
296
|
+
norm = mpl.colors.Normalize(vmin=col_min, vmax=col_max)
|
|
297
|
+
|
|
298
|
+
# Remove frame
|
|
299
|
+
ax.set_frame_on(False)
|
|
300
|
+
|
|
301
|
+
# Remove tick marks, keep labels
|
|
302
|
+
ax.tick_params(axis='x', which='both', bottom=False, top=False, length=0)
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
Cell text contrast:
|
|
306
|
+
```python
|
|
307
|
+
r, g, b, _ = cmap(norm(value))
|
|
308
|
+
luminance = 0.299*r + 0.587*g + 0.114*b
|
|
309
|
+
text_color = 'white' if luminance < 0.5 else 'black'
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
## 8) Radar / Polar Charts
|
|
315
|
+
|
|
316
|
+
- Project: `fig.add_subplot(projection='polar')`.
|
|
317
|
+
- Remove default grid and spines; draw custom spokes and contour polygons.
|
|
318
|
+
- Normalize per-spoke to display range (e.g., 45–90) using per-benchmark tick lists.
|
|
319
|
+
- Use `ax.set_theta_zero_location('N')` to start at top.
|
|
320
|
+
- Legend: `bbox_to_anchor=(1.40, 0.05)` outside right edge.
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## 9) Export Policy
|
|
325
|
+
|
|
326
|
+
### SVG is the required primary format
|
|
327
|
+
|
|
328
|
+
SVG preserves editable text (when `svg.fonttype = 'none'`), supports lossless scaling,
|
|
329
|
+
and is required for any figure where text labels may need post-hoc alignment in
|
|
330
|
+
Illustrator or Inkscape. Always save SVG first.
|
|
331
|
+
|
|
332
|
+
```python
|
|
333
|
+
import os
|
|
334
|
+
os.makedirs('./figures/', exist_ok=True)
|
|
335
|
+
fig.tight_layout(pad=2) # default; use pad=1 for compact multi-panel
|
|
336
|
+
|
|
337
|
+
# ── PRIMARY ── editable vector, text as <text> nodes ─────────────────────────
|
|
338
|
+
fig.savefig('./figures/name.svg', bbox_inches='tight')
|
|
339
|
+
|
|
340
|
+
# ── SECONDARY ── raster for quick preview / submission portals ────────────────
|
|
341
|
+
fig.savefig('./figures/name.png', dpi=300, bbox_inches='tight')
|
|
342
|
+
|
|
343
|
+
plt.close(fig) # always close to free memory
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
**DPI guide (PNG only)**:
|
|
347
|
+
- `dpi=300` — standard for all figure types.
|
|
348
|
+
- `dpi=600` — dense bar panels with many methods.
|
|
349
|
+
|
|
350
|
+
**Never** use `svg.fonttype = 'path'` (matplotlib default): it converts glyphs to bezier
|
|
351
|
+
curves, breaking text editability. The mandatory three rcParams lines (see api.md) must
|
|
352
|
+
be set before any `savefig` call.
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## 11) Multi-Panel Information Architecture
|
|
357
|
+
|
|
358
|
+
### Rule: Every panel must answer a unique scientific question
|
|
359
|
+
|
|
360
|
+
In a multi-panel figure, each panel should be independently informative. Covering one panel must leave a gap that cannot be recovered from the others.
|
|
361
|
+
|
|
362
|
+
**Recommended three-level progression**:
|
|
363
|
+
|
|
364
|
+
| Level | Question answered | Typical encoding |
|
|
365
|
+
|-------|------------------|-----------------|
|
|
366
|
+
| Overview | "What is the landscape?" | Stacked bar, composition |
|
|
367
|
+
| Deviation | "What is distinctive per group?" | Z-score heatmap (diverging cmap) |
|
|
368
|
+
| Relationship | "How do variables co-vary?" | Scatter / bubble plot |
|
|
369
|
+
|
|
370
|
+
### Anti-redundancy checklist
|
|
371
|
+
|
|
372
|
+
Before finalising:
|
|
373
|
+
|
|
374
|
+
- [ ] Panel b does **not** re-display the same data as panel a in a different visual form
|
|
375
|
+
- [ ] Panel c adds a dimension absent from a and b (e.g., correlation, biological relationship)
|
|
376
|
+
- [ ] Each panel has its own axis-label vocabulary (different x/y quantities)
|
|
377
|
+
|
|
378
|
+
### Common redundancy traps
|
|
379
|
+
|
|
380
|
+
| Trap | Example | Fix |
|
|
381
|
+
|------|---------|-----|
|
|
382
|
+
| Absolute + absolute | Stacked bar (%) + heatmap of same % | Replace heatmap with z-score deviation |
|
|
383
|
+
| Subset of parent | Tumor-only ranked bar is just one column of the stacked bar | Swap for scatter: tumor % vs. immune % |
|
|
384
|
+
| Two rankings | Two ranked bars on related metrics | Replace one with scatter / bubble |
|
|
385
|
+
| Different chart, same data slice | Pie + stacked bar | Merge or replace one with a relationship plot |
|
|
386
|
+
|
|
387
|
+
### Z-score deviation heatmap (complement to a composition bar)
|
|
388
|
+
|
|
389
|
+
When panel a shows absolute composition, panel b should show **what is atypical** per group:
|
|
390
|
+
|
|
391
|
+
```python
|
|
392
|
+
# heat: DataFrame (cohorts × cell-type categories), values in %
|
|
393
|
+
z = (heat - heat.mean(axis=0)) / heat.std(axis=0)
|
|
394
|
+
im = ax.imshow(z.values, cmap="RdBu_r", aspect="auto", vmin=-2.5, vmax=2.5)
|
|
395
|
+
# colorbar label:
|
|
396
|
+
cbar.set_label("Z-score vs pan-cohort mean")
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
Use `RdBu_r` (red = enriched above average, blue = depleted). This diverging view is orthogonal to the absolute-percentage view in panel a.
|
|
400
|
+
|
|
401
|
+
### Bubble scatter (complement to both)
|
|
402
|
+
|
|
403
|
+
When a = composition, b = deviation, panel c should reveal **biological co-variation**:
|
|
404
|
+
|
|
405
|
+
```python
|
|
406
|
+
# x: dominant compartment (e.g., tumor %)
|
|
407
|
+
# y: functional readout (e.g., immune-cell %)
|
|
408
|
+
# size: third variable (e.g., stroma %)
|
|
409
|
+
ax.scatter(x, y, s=stroma * scale, c=colors,
|
|
410
|
+
edgecolors="white", linewidth=0.8, alpha=0.9)
|
|
411
|
+
# Quadrant reference lines at median x and median y
|
|
412
|
+
ax.axvline(np.median(x), lw=1.2, ls="--", color="#767676", alpha=0.6)
|
|
413
|
+
ax.axhline(np.median(y), lw=1.2, ls="--", color="#767676", alpha=0.6)
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
Label quadrants ("Immune-hot / low tumor", "Immune-desert / high tumor", …) with small grey text.
|
|
417
|
+
|
|
418
|
+
---
|
|
419
|
+
|
|
420
|
+
## 10) Reproduction Checklist
|
|
421
|
+
|
|
422
|
+
To match Nature publication standards:
|
|
423
|
+
|
|
424
|
+
- [ ] **MANDATORY first lines**: `font.family='sans-serif'`, `font.sans-serif=['Arial','DejaVu Sans','Liberation Sans']`, `svg.fonttype='none'`
|
|
425
|
+
- [ ] **Save as SVG** (primary). PNG dpi=300 as optional raster preview.
|
|
426
|
+
- [ ] Top and right spines off; frameless legend
|
|
427
|
+
- [ ] Figure architecture chosen intentionally: grid, schematic-led composite, image plate, or asymmetric hero layout
|
|
428
|
+
- [ ] Font size ≥ 16 base; 24 for large bar panels; 32–54 for axis labels on large panels
|
|
429
|
+
- [ ] Colors from blue-green-red-neutral semantic palette
|
|
430
|
+
- [ ] Black background used only for imaging plates, not for ordinary plots
|
|
431
|
+
- [ ] Legends omitted or shared when direct labels or one legend strip read better
|
|
432
|
+
- [ ] Y-limits tightened to data range (not 0–100 when values are 80–95)
|
|
433
|
+
- [ ] X-ticks hidden when methods are named in legend
|
|
434
|
+
- [ ] Legend in dedicated panel or `frameon=False`
|
|
435
|
+
- [ ] `tight_layout(pad=2)` before save
|
|
436
|
+
- [ ] `plt.close(fig)` after save
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Figure Contract
|
|
2
|
+
|
|
3
|
+
Use this reference before writing plotting code. The goal is to make the figure
|
|
4
|
+
serve the paper's scientific logic.
|
|
5
|
+
|
|
6
|
+
## Privacy rule
|
|
7
|
+
|
|
8
|
+
Keep the figure contract user-facing, but keep the working trail private. Do not mention
|
|
9
|
+
private paths, source filenames, internal reference documents, template identifiers, or
|
|
10
|
+
where a private draft came from unless the user explicitly asks for provenance.
|
|
11
|
+
|
|
12
|
+
## Required contract
|
|
13
|
+
|
|
14
|
+
Create a short contract in working notes or in the response:
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
Core conclusion:
|
|
18
|
+
Figure archetype:
|
|
19
|
+
Target journal/output:
|
|
20
|
+
Backend: Python or R
|
|
21
|
+
Final size:
|
|
22
|
+
Panel map:
|
|
23
|
+
a:
|
|
24
|
+
b:
|
|
25
|
+
c:
|
|
26
|
+
Evidence hierarchy:
|
|
27
|
+
hero evidence:
|
|
28
|
+
validation evidence:
|
|
29
|
+
controls/robustness:
|
|
30
|
+
Statistics needed:
|
|
31
|
+
Source data needed:
|
|
32
|
+
Image-integrity notes:
|
|
33
|
+
Reviewer risk:
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Do not start from a favorite template. Start from the conclusion, then choose the
|
|
37
|
+
minimum set of panels that make the conclusion clear and defensible.
|
|
38
|
+
|
|
39
|
+
## Core conclusion rules
|
|
40
|
+
|
|
41
|
+
- The core conclusion should be one sentence with a verb: "Treatment X reduces
|
|
42
|
+
Y by restoring Z", not "Treatment results".
|
|
43
|
+
- Every panel must answer a unique question. If covering a panel would not weaken
|
|
44
|
+
the argument, remove or merge it.
|
|
45
|
+
- Separate primary evidence from supporting evidence. The primary evidence gets
|
|
46
|
+
the hero panel or the clearest axis; controls and robustness panels should be
|
|
47
|
+
visually quieter.
|
|
48
|
+
- If the user provides data but no claim, infer a provisional claim from the data
|
|
49
|
+
request and ask for confirmation before final styling.
|
|
50
|
+
|
|
51
|
+
## Archetype selection
|
|
52
|
+
|
|
53
|
+
| Archetype | Use when | Hero panel | Supporting panels |
|
|
54
|
+
|---|---|---|---|
|
|
55
|
+
| `quantitative grid` | The claim is mainly numerical comparison | Optional; often a dominant summary metric | Shared axes, aligned scales, compact legends |
|
|
56
|
+
| `schematic-led composite` | A workflow, mechanism, device, or experimental design must be understood first | Left or top schematic, 35-60% of area | 2-4 quantitative validation panels |
|
|
57
|
+
| `image plate + quant` | Microscopy, imaging, histology, spatial overlays, segmentation, or blots lead the evidence | Image plate or representative image | Scale bars, overlays, crops, quantification |
|
|
58
|
+
| `asymmetric mixed-modality figure` | The figure combines schematic, raster images, heatmaps, and quantitative plots | One panel spans rows/columns | Smaller panels ranked by evidence value |
|
|
59
|
+
|
|
60
|
+
## Panel logic
|
|
61
|
+
|
|
62
|
+
Use this order unless the manuscript story clearly requires another:
|
|
63
|
+
|
|
64
|
+
1. Establish the system: sample, method, cohort, device, or experimental design.
|
|
65
|
+
2. Show the main effect or primary comparison.
|
|
66
|
+
3. Show mechanism or localization.
|
|
67
|
+
4. Quantify the representative image or qualitative observation.
|
|
68
|
+
5. Add robustness, controls, subgroup analysis, or sensitivity analysis.
|
|
69
|
+
|
|
70
|
+
For Fig. 1 or a method figure, the first panel often defines the visual vocabulary:
|
|
71
|
+
colors, symbols, workflow direction, sample classes, and scale. Reuse that vocabulary
|
|
72
|
+
through the whole figure and, where possible, through the manuscript.
|
|
73
|
+
|
|
74
|
+
## Aesthetic integration
|
|
75
|
+
|
|
76
|
+
- Use one neutral family, one signal family, and one accent family.
|
|
77
|
+
- Keep the same condition/method color across all panels.
|
|
78
|
+
- Prefer direct labels for stable line identities, channels, and fixed spatial regions.
|
|
79
|
+
- Use a shared legend area when repeated legends would waste space.
|
|
80
|
+
- Avoid equal-sized panels when the evidence is not equally important.
|
|
81
|
+
- Keep schematic colors and quantitative plot colors related. A schematic-led
|
|
82
|
+
figure should look like one integrated argument, not a pasted collage.
|
|
83
|
+
|
|
84
|
+
## Reviewer-risk prompts
|
|
85
|
+
|
|
86
|
+
Before finalizing, ask what a skeptical reviewer would challenge:
|
|
87
|
+
|
|
88
|
+
- Is the sample size visible in the legend or source data?
|
|
89
|
+
- Are error bars, intervals, and statistical tests defined?
|
|
90
|
+
- Are axes comparable across panels that invite comparison?
|
|
91
|
+
- Are representative images quantified and traceable to raw files?
|
|
92
|
+
- Are image adjustments global and documented?
|
|
93
|
+
- Could the same conclusion be made from fewer panels?
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# 2026 Nature Sample Observations
|
|
2
|
+
|
|
3
|
+
This note captures page-level figure patterns observed from a local 2026 sample of `Nature`
|
|
4
|
+
papers, plus one `Nature Biomedical Engineering` paper used as a clinical / ML-adjacent
|
|
5
|
+
cross-check.
|
|
6
|
+
|
|
7
|
+
Sampled figure sources:
|
|
8
|
+
|
|
9
|
+
- `s41586-026-10408-8` — wide schematic-led materials figure with supporting quant panels
|
|
10
|
+
- `s41586-026-10426-6` — dark whole-brain image plate with repeated views
|
|
11
|
+
- `s41586-026-10393-y` — clinical triptych: longitudinal lines, forest plots, summary bars
|
|
12
|
+
- `s41586-026-10257-5` — dense categorical stacked-area panels with direct labels
|
|
13
|
+
- `s41586-026-10439-1` — asymmetric genomics figure with one dominant circular panel
|
|
14
|
+
- `Expert-level detection of pathologies...` — compact medical / ML figure conventions
|
|
15
|
+
|
|
16
|
+
## Archetype 1: Schematic-led composite
|
|
17
|
+
|
|
18
|
+
Seen in the printable meta-assemblies paper.
|
|
19
|
+
|
|
20
|
+
Actionable rules:
|
|
21
|
+
|
|
22
|
+
- Let the schematic occupy roughly `45–60%` of figure height.
|
|
23
|
+
- Use the **same physical/material palette** in the supporting plots; do not switch to generic method colors below the schematic.
|
|
24
|
+
- Zoom callouts should use one repeated accent style across the figure, for example a single dashed red outline family.
|
|
25
|
+
- Reserve at least one supporting panel for a real-world photograph or experimental snapshot when the story needs scale validation.
|
|
26
|
+
- Supporting quantitative panels should be smaller, cleaner and less saturated than the schematic so the eye reads the page in the intended order.
|
|
27
|
+
|
|
28
|
+
## Archetype 2: Dark image plate
|
|
29
|
+
|
|
30
|
+
Seen in the astrocyte brain-network figure.
|
|
31
|
+
|
|
32
|
+
Actionable rules:
|
|
33
|
+
|
|
34
|
+
- Use a black facecolor only for the image plate region, not for the whole page.
|
|
35
|
+
- Pair grayscale context with one or two fluorescent channels; the sample repeatedly used cyan and magenta.
|
|
36
|
+
- Keep crops, scale bars and view boxes geometrically consistent across rows and columns.
|
|
37
|
+
- Use white gutters and white scale bars so the plate stays legible after print/export compression.
|
|
38
|
+
- Put row labels and channel labels directly on the image plate; avoid detached legends.
|
|
39
|
+
|
|
40
|
+
Recommended accent set for this modality:
|
|
41
|
+
|
|
42
|
+
```python
|
|
43
|
+
CYAN = "#22D7E6"
|
|
44
|
+
MAGENTA = "#FF2AD4"
|
|
45
|
+
GREY_CONTEXT = "#B8B8B8"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Archetype 3: Clinical triptych
|
|
49
|
+
|
|
50
|
+
Seen in the OTOF gene-therapy paper.
|
|
51
|
+
|
|
52
|
+
Actionable rules:
|
|
53
|
+
|
|
54
|
+
- Top row: line plots or longitudinal summaries, usually sharing one legend strip above the row.
|
|
55
|
+
- Middle row: forest-plot style effects with a dashed vertical reference line and light category bands.
|
|
56
|
+
- Bottom row: compact summary bars, often binary or stacked-percentage bars.
|
|
57
|
+
- Keep columns semantically parallel. If the first column is `ABR`, the next columns should reuse the same row logic rather than introducing a new layout.
|
|
58
|
+
- Baseline / reference series can be black or dark grey; follow-up or intervention groups can use a restrained warm/cool sequence.
|
|
59
|
+
|
|
60
|
+
Recommended design signal:
|
|
61
|
+
|
|
62
|
+
- Legends belong outside the data region when there are many timepoints.
|
|
63
|
+
- Group bands in forest plots should be pale and subordinate, never more salient than the confidence intervals.
|
|
64
|
+
|
|
65
|
+
## Archetype 4: Dense categorical physical-science panel
|
|
66
|
+
|
|
67
|
+
Seen in the condensation-sequence figure.
|
|
68
|
+
|
|
69
|
+
Actionable rules:
|
|
70
|
+
|
|
71
|
+
- Direct-label regions when the plot has many semantically intrinsic categories.
|
|
72
|
+
- Use hatching or texture overlays when neighboring fills are close in luminance or may print poorly.
|
|
73
|
+
- Reuse the exact same axis limits and panel geometry across the full grid.
|
|
74
|
+
- Prefer embedded labels over a detached mega-legend when each panel repeats the same categorical structure.
|
|
75
|
+
|
|
76
|
+
## Archetype 5: Asymmetric mixed-modality figure
|
|
77
|
+
|
|
78
|
+
Seen in the rediploidization genomics figure.
|
|
79
|
+
|
|
80
|
+
Actionable rules:
|
|
81
|
+
|
|
82
|
+
- Do not force equal panel sizes. Let the biologically central panel dominate.
|
|
83
|
+
- Use small supporting plots around the hero panel to answer narrower questions.
|
|
84
|
+
- Keep a tight, reused color mapping across all modalities, for example `wave 1 / wave 2 / wave 3` or `baseline / highlight / neutral`.
|
|
85
|
+
- Use whitespace and alignment, not decorative frames, to signal grouping.
|
|
86
|
+
|
|
87
|
+
## Cross-cutting Nature rules from the sample
|
|
88
|
+
|
|
89
|
+
- Panel labels are small bold lowercase letters near the top-left corner, not large badges.
|
|
90
|
+
- Figure pages are narrative, not dashboard-like. A dominant panel is normal.
|
|
91
|
+
- Legends are often omitted if direct labeling is possible.
|
|
92
|
+
- Background discipline matters more than ornament. White for charts, black only for image plates.
|
|
93
|
+
- Saturated colors are used sparingly and usually mean either a true experimental channel or a highlighted subgroup.
|
|
94
|
+
- When several modalities coexist, keep axis-heavy plots visually quieter than schematics or imaging panels.
|
|
95
|
+
- Gutters are slightly larger when dark panels touch light panels or when modalities change.
|
|
96
|
+
|
|
97
|
+
## Palette guidance by modality
|
|
98
|
+
|
|
99
|
+
- Materials / mechanism pages:
|
|
100
|
+
`aqua`, `teal`, `lilac`, `soft violet`, with one red accent for callouts only.
|
|
101
|
+
- Imaging plates:
|
|
102
|
+
`black` + `grey context` + `cyan` + `magenta`.
|
|
103
|
+
- Clinical quantitative figures:
|
|
104
|
+
`black baseline`, then restrained warm/cool follow-up hues, with pale group shading.
|
|
105
|
+
- Genomics / systems figures:
|
|
106
|
+
`neutral greys` plus one `red family` and one `blue family` for highlighted biological states.
|
|
107
|
+
|
|
108
|
+
## What not to copy blindly
|
|
109
|
+
|
|
110
|
+
- Do not import a bright multi-hue palette just because one sampled physical-science figure used many fills. That only works when the categories are intrinsic phases/materials and directly labeled.
|
|
111
|
+
- Do not place all Nature figures on black backgrounds; that was specific to the imaging plate archetype.
|
|
112
|
+
- Do not force a legend into every panel. Many sampled figures read better with direct labels or one shared legend strip.
|