Какой тогда смысл разделения на Smarty и Public?
На минуточку, Смарти-шаблоны лежат в core/...., а core/ должна закрываться на просмотр извне. Как будут доступны паблик-файлы, если они будут лежать в закрытой папке? Исторически, серверные файлы компонентов лежат в core/components/my_component, а публичные в assets/componentns/my_component/