I'm trying to display two lists stacked vertically in a scrollable container. The lists should display all their items, and the container should scroll if necessary to allow the user to see all of both lists. The lists do not display at all. The container uses a 'vbox' layout and is vertically scrollable. I've tried a number of increasingly desperate approaches. The only thing that displays the lists is giving them a flex, but that is not what I want. Sample code below.

Layout is a constant source of frustration with ST2. The default seems to be to not show something, or set the height or width to zero, unless things are set up just right. I assume that the emphasis on explicit metrics is due to the device displays not being resizeable, but defaulting to 'auto' would be much more useful, at least in development. Part of the frustration is that it would be trivial to do what I want without the framework.

I'll try combining the lists and using grouping, though that's not really what I wanted either.

Code:
Ext.application({


    name: 'Test',


    requires: [
        'Ext.data.Store',
        'Ext.dataview.List'
    ],


    launch: function () {


        Ext.define('City', {
            extend: 'Ext.data.Model',
            config: {
                fields: [{ name: 'city', type: 'string' }]
            }
        });


        Ext.create('Ext.data.Store', {
            storeId: 'CityStore',
            model: 'City',
            data: [
                { city: 'Topeka' },
                { city: 'Buffalo' },
                { city: 'Sacramento' },
                { city: 'Springfield' },
                { city: 'Houston' },
                { city: 'Akron' },
                { city: 'Toledo' },
                { city: 'Frankfort' },
                { city: 'Buford' }
            ]
        });


        Ext.define('State', {
            extend: 'Ext.data.Model',
            config: {
                fields: [{ name: 'state', type: 'string' }]
            }
        });


        Ext.create('Ext.data.Store', {
            storeId: 'StateStore',
            model: 'State',
            data: [
                { state: 'Kansas' },
                { state: 'New York' },
                { state: 'California' },
                { state: 'Ohio' },
                { state: 'Texas' },
                { state: 'Ohio' },
                { state: 'Ohio' },
                { state: 'Kentucky' },
                { state: 'South Carolina' }
            ]
        });


        Ext.Viewport.add(Ext.create('Ext.Container', {
            fullscreen: true,
            layout: 'hbox',
            items: [
                {
                    xtype: 'container',
                    layout: 'vbox',
                    scrollable: {
                        direction: 'vertical'
                    },
                    width: '30%',
                    items: [
                        {
                            xtype: 'list',
//                            flex: 1,
                            itemTpl: '{city}',
                            store: 'CityStore'
                        },
                        {
                            xtype: 'list',
//                            flex: 1,
                            itemTpl: '{state}',
                            store: 'StateStore'
                        }
                    ]
                },
                {
                    xtype: 'component',
                    width: '70%',
                    html: 'some other stuff'
                }
            ]
        }));
    }
});